el-tree 默认选中及子节点没有key,父节点版选状态

昨天又遇到了elementui的组件的坑…
废话不多说了,下面看代码
html

<el-tree
      :data="data"
       node-key="keywords"
       ref="tree"
       show-checkbox  
       highlight-current 
       :default-expanded-keys="data.keywords"
       :filter-node-method="filterNode" 
        @check-change='checkTree'>
  <span class="custom-tree-node" slot-scope="{ node, data }">
         <span>{{ data.label }}</span>
         <span>{{ data.id }}</span>
   </span>
  </el-tree>

js

 keywords:[]

    /*
      初始化默认el-tree选中,含父级半选,
      datas[i].keywords === null 因特殊需求
      讲道理,最外层的 if else是可以去掉的
      setTree在请求中直接调用
    */ 
    setTree(datas) {
      for (let i in datas) {    
        if (datas[i].keywords === null) {
              datas[i].keywords = ''
        }else { 
          this.keywords.push(datas[i].keywords);  
           if (datas[i].children.length !== 0) {   
              this.setTree(datas[i].children);
          }
          this.$nextTick(() => {   
             this.keywords.forEach(i => {
               let node = this.$refs.tree.getNode(i) 
               if(node.isLeaf){
                  this.$refs.tree.setChecked(node, true)
                 }
             }) 
          });
        }
      }
    }, 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值