el-tree选中节点高亮显示

文章介绍了如何在Vue.js中使用el-tree组件,通过设置`highlight-current=true`属性实现节点被点击时的高亮效果。并提供了自定义样式的代码,包括节点激活时的背景颜色以及鼠标悬停时的颜色变化。同时,文章提到了`node-key`、`check-on-click-node`和`expand-on-click-node`等属性的用法。

el-tree选中节点高亮显示

在这里插入图片描述

<el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"
                            :highlight-current="true" node-key="lineCode" :check-on-click-node="true"
                            :expand-on-click-node="false" ref="treeBox"></el-tree>

主要是highlight-current=“true”

添加样式

::v-deep .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
    background-color: rgba(210, 248, 250, 0.793) !important;
}
::v-deep .el-tree-node__content:hover {
    background-color: rgba(241, 251, 252, 0.793) !important;
}

::v-deep .el-tree-node:focus>.el-tree-node__content {
    background-color: transparent;
}
### 实现 `el-tree` 组件中选中节点高亮 为了使 `el-tree` 组件中的节点在被点击时能够保持高亮状态,可以利用 `highlight-current` 属性以及设置 `node-key` 来唯一标识每个节点。这允许组件追踪当前激活的节点并应用样式[^1]。 当配置好这些属性之后,还需要通过监听事件来动态更新所选节点的状态。具体来说: - 设置 `highlight-current="true"` 可以让每次只有一项处于选中状态,并自动为其添加默认样式。 - 使用 `default-expanded-keys` 和 `current-node-key` 控制初始状态下哪些节点应该展开或被选中。 下面是一个简单的例子展示如何实现这一功能: ```html <template> <div class="tree-container"> <!-- 配置 highlight-current=true --> <el-tree :data="data" show-checkbox node-key="id" default-expand-all :expand-on-click-node="false" @node-click="handleNodeClick" highlight-current> </el-tree> </div> </template> <script> export default { data() { return { data: [{ id: 1, label: 'Level one 1', children: [{ id: 4, label: 'Level two 1-1' }] }, { id: 2, label: 'Level one 2', children: [{ id: 5, label: 'Level two 2-1' }] }], defaultProps: { children: 'children', label: 'label' } }; }, methods: { handleNodeClick(data) { console.log('Selected Node:', data); } } }; </script> ``` 此代码片段展示了基本结构和必要的选项配置,使得用户可以在树状列表里选择项目并且看到视觉上的反馈——即选定项目的背景颜色会发生变化,从而达到所谓的“高亮”。 对于更复杂的场景,比如希望页面刷新后仍然能记住之前的选择,则可以通过浏览器本地存储或者其他方式保存 `current-node-key` 的值,在页面加载时重新赋给该属性即可[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值