vue tree 获取到数据递归获取flag 判断是否选中

element tree 后端返回给前端所有数据展示到树里面 有一个flag标识标识当前用户的树哪个是被选中的状态

这样的话前端加个 递归方法就可以了 直接上代码

 changeTree(val) {
  //获取传进来的
     var self =  this;
   if (val.length !== 0) {
    val.forEach(item => {
    //直接循环     
        let obj = {};
        if(item.flag=="1"){
        //判断当前树是否被选中 选中的话就push到 全局变量 arr 里面 
          self.arr.push(item.id); //把idpush到里面
        }
      if (item.children !=null) {
      //这里是判断下级是否还有数据 下级数据是用 children 包起来的
        this.changeTree(item.children);
      }
    });
    //循环以后直接选中 element tree  
    self.$refs.tree.setCheckedKeys(self.arr);
  }
}


还有一个需求就是 树主节点 下有3个子节点  当随便选中一个字节点就要把主节点和选中的子节点返回给后端 直接上代码

          var self = this;
          let objs =[];
          //获取主节点 如果子节点全部选上 这个方法就是空的
          this.$refs.tree.getHalfCheckedKeys().forEach(item => {  
            objs.push(item)
          });
          // 获取选中的子节点 
          this.$refs.tree.getCheckedKeys().forEach(item => {  
            objs.push(item)
          }); 
		objs 就是包含主节点和子节点的数据 直接返回给后端就可以 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值