elementui tree组件点击一直高亮
时间: 2023-07-28 15:10:32 浏览: 86
如果您想要在 ElementUI 的 Tree 组件中实现点击节点高亮,可以通过以下两种方式实现:
1. 使用插槽自定义节点的内容,然后在点击节点时手动添加 `highlight` 类名,如下所示:
```html
<template>
<el-tree :data="data" :highlight-current="true" @node-click="handleNodeClick">
<template v-slot="{ node, data }">
<span :class="{'highlight': node.highlight}">{{ data.label }}</span>
</template>
</el-tree>
</template>
<script>
export default {
data() {
return {
data: [
{
label: 'Node 1',
children: [
{
label: 'Node 1-1',
},
{
label: 'Node 1-2',
},
],
},
{
label: 'Node 2',
},
],
};
},
methods: {
handleNodeClick(data, node) {
this.$refs.tree.store.highlightNode(node);
},
},
};
</script>
<style>
.highlight {
background-color: #f5f5f5;
}
</style>
```
2. 使用 `highlight-current` 属性启用当前节点高亮,并使用 `node-key` 属性指定节点的唯一标识符,如下所示:
```html
<template>
<el-tree :data="data" :highlight-current="true" :node-key="nodeKey">
</el-tree>
</template>
<script>
export default {
data() {
return {
data: [
{
label: 'Node 1',
children: [
{
label: 'Node 1-1',
},
{
label: 'Node 1-2',
},
],
},
{
label: 'Node 2',
},
],
nodeKey: 'id',
};
},
};
</script>
```
其中,`nodeKey` 属性指定了节点的唯一标识符,可以是节点对象的某个属性名,也可以是一个返回节点标识符的函数。当点击节点时,Tree 组件会自动将当前节点的 `highlight` 属性设置为 `true`,从而实现高亮效果。
阅读全文