element中tree的使用心得

element的tree 树形控件的使用还是比较多的,从中也学到了不少的知识,以下是自己在使用中获得的一些心得!

this.treeData = [
    {
      id: 1,
      label: "中国",
      color: "red",
      children: [
        {
          id: 100,
          label: "江苏",
          children: [
            {
              id: 101,
              label: "南京",
              color: "blue",
              //图片地址
              logoPath: "xx.jpg",
            },
            {
              id: 102,
              label: "苏州",
            },
            {
              id: 103,
              label: "无锡",
            },
          ],
        },
      ],
    },
  ];
<el-tree
  :data="treeData"
  show-checkbox
  :check-strictly="true"    设置父子互相关联,才能取到单独的数据
  ref="tree"
  node-key="id"
  @check="handleCheck"  
  @check-change="handleCheckChange"     
  :props="treeProp"
  default-expand-all   
>
  <span slot-scope="{ node, data }">
  	<img :src="data.logoPath" class="treeIcon" v-if="data.logoPath" />
    <span :style="{ color: data.color }">
      {{ data.label }}
    </span>
  </span>
</el-tree>

在这里插入图片描述

node-key:每个树节点用来作为唯一标识的属性,整棵树应该是唯一的,子级与父级的id也不能相同,否则在设置自定义勾选时会出现混乱因为在对数据遍历时需要进行递归处理,如果父级id与子级id相同就会先遍历到父级id,但你需要勾选到的是子级的id,就会相互冲突。

1.如何自定义节点的内容?
使用插槽,scoped-slot 会传入两个参数node和data,分别表示当前节点的 Node 对象和当前节点的数据。
在这里插入图片描述

2.如何禁用某些节点?
例如以上设置有子节点的父节点就置灰,不可用。
在这里插入图片描述
3.如何设置勾选了父级,但不勾选子级?

:check-strictly="true"

4.设置要勾选的节点
此处要传数组,这个方法控制所有被勾选的数据

setCheckedKeys(key) {
    this.$refs.tree.setCheckedKeys(key);
},

5.清空选中的节点

resetChecked() {
   this.$refs.tree.setCheckedKeys([]);
},
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值