< 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)
}
}
});
};