el-tree 设置目录树中的某个节点为高亮状态

  现在可以实现,点击某个节点,该节点会红色高亮,那怎么让这个树加载出来的时候 默认某个节点高亮呢?element ui里面带勾选框的可以默认勾选上,这个没有勾选框

  其实很简单。element ui的树形控件支持setCurrentKey()方法,只需要将你要设置的节点的key值设置进去就可以了,前提是要设置好node-key属性。然后在created()或mounted()钩子里写上代码就可以了。

 

<template>
  <section class="p-10">
    <el-tree :data="data" ref="vuetree" :props="defaultProps" @node-click="handleNodeClick"
             highlight-current node-key="id" default-expand-all />
  </section>
</template>
<script>
  export default {
    data() {
      return {
        data: [{
          id: 1,
          label: '一级 1',
          children: [{
            id: 4,
            label: '二级 1-1',
            children: [{
              id: 9,
              label: '三级 1-1-1'
            }, {
              id: 10,
              label: '三级 1-1-2'
            }]
          }]
        }, {
          id: 2,
          label: '一级 2',
          children: [{
            id: 5,
            label: '二级 2-1'
          }, {
            id: 6,
            label: '二级 2-2'
          }]
        }, {
          id: 3,
          label: '一级 3',
          children: [{
            id: 7,
            label: '二级 3-1'
          }, {
            id: 8,
            label: '二级 3-2'
          }]
        }],
        defaultProps: {
          children: 'children',
          label: 'label'
        }
      };
    },
    methods: {
      handleNodeClick(data) {
        console.log(data);
      }
    },
    mounted() {
      this.$nextTick(function(){
        this.$refs['vuetree'].setCurrentKey(10);
      })
    }
  };
</script>

 

嗯,就酱~~

转载于:https://www.cnblogs.com/jin-zhe/p/10075081.html

Element UI库中的el-tree组件中,如果想要实现单选子节点的功能,你可以通过以下步骤进行设置: 1. 首先,在数据结构上,每个节点通常会包含一个额外的状态字段,例如`isSelected`或者`checked`,用于表示该节点是否被选中。 ```js // 示例数据结构 [ { label: '父节点', children: [ { label: '子节点A', isSelected: false }, { label: '子节点B', isSelected: false } ] } ] ``` 2. 初始化时,给所有叶子节点设置默认值,如果是单选模式,只有一个节点可以被选中: ```js this.treeData.forEach(node => { if (!node.children) { node.isSelected = true; // 只有一个根节点默认选中 } else { node.isSelected = false; } }); ``` 3. 当用户点击子节点时,更新对应节点的选择状态,并确保其他子节点的`isSelected`属性设为`false`: ```js treeClick({ node }) { this.treeData.forEach(n => { if (n !== node && n.children) { n.isSelected = false; } }); node.isSelected = !node.isSelected; // 更新当前节点选择状态 } ``` 4. 在模板中,利用v-model绑定到节点的`isSelected`属性,显示相应的图标或样式来表示是否被选中: ```html <template> <el-tree :data="treeData" ref="treeRef" :props="{ children: 'children', label: 'label' }" @node-click="treeClick"> <span v-if="node.isLeaf" class="selected-icon" :class="{ active: node.isSelected }"></span> <!-- ...其他节点内容... --> </el-tree> </template> <style scoped> .selected-icon { /* 根据需要定制选中/未选中状态下的样式 */ } .active { color: red; /* 或者其他高亮颜色 */ } </style> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值