<el-tree
:data="treeData"
show-checkbox
default-expand-all
node-key="id"
ref="tree"
@check="checkedList"
highlight-current
:props="defaultProps"
:default-checked-keys="treeData"
:render-content="renderContent">
</el-tree>
checkedList(){
this.$nextTick(() =>{
let res = this.$refs.tree.getCheckedNodes(true)
let ids = []
res.forEach(item =>{
ids.push(item.id)
})
this.checkIdList = ids.toString()
this.initTable()
});
},
renderContent(h, { node, data, store }){
if(data.sonNodeList !=''){
return (
<span class="custom-tree-node">
<span>{node.label+'('+data.sonNodeList.length+')'}</span>
</span>
);
}else{
return (
<span class="custom-tree-node">
<span>{node.label}</span>
</span>
);
}
},
async initLeftMenu(){
let res = await getCatalogue(this.type)
if(res.code == 0){
this.treeData = res.data[this.type]
}
this.loading = false
this.treeData.forEach((i, n) => {
i.sonNodeList.forEach((index,node) =>{
this.$nextTick(() =>{
var node = this.$refs.tree.getNode(index)
if (node.isLeaf) {
this.$refs.tree.setChecked(node, true)
}
});
})
})
},