您的位置:首页 > 产品设计 > UI/UE

权限设置 element - ui 树形控件 父级半选状态id和选中子级id一起传给后台 回显去掉父级半选状态id

2018-12-21 15:53 519 查看
[code]< el - tree
default - expand - all
:data = "treeData"
show - checkbox
node - key = "id"
:filter - node - method = "filterNode"
:default - checked - keys = "checkedKeys"
ref = "menuTree"
@check - change = "getNodeData"
:props = "defaultProps" >
</el - tree >

//传给后台

var parentArr = this.$refs.menuTree.getHalfCheckedKeys();
var childeArr = this.$refs.menuTree.getCheckedKeys();
var arr = childeArr.concat(parentArr);

//更新数据时的树形显示 (去掉半选状态id避免视图半选状态id下全选)

var arr = response.data; //后台返回的id组成的数组
var newArr = [];
var item = '';
arr.forEach(item=>{
     checked(item,this.treeData,newArr)
})
this.checkedKeys = newArr;

function checked(id,data,newArr){
 data.forEach(item => {
     if(item.id == id){
           if( item.children.length == 0 ){
                newArr.push(item.id)
            }
     }else{
          if( item.children.length !=0 ){
             checked(id,item.children,newArr)
           }
      }
   });
};

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐