第一次用iview的Tree控件,需求是从后台获取数据
需要循环后台返回的数据,依次添加属性值进行展示
<Tree :data="treeData" ref="orgTree" :show-checkbox="true" :check-strictly="true" :check-directly="true" @on-check-change="treeItem"></Tree>
data(){
return {
treeData:[],
}
}
method(){
getTreeData() {
this.$api[this.$zPlugCfg.key]
.getTree()
.then((res) => {
// 记录 树状图获取
res.data.forEach((item) => {
let obj = { children: [] };
//里面的都是加入的属性
//这里加入的属性后续都可以通过点击节点获取
obj.title = item.function_name;
obj.function_code = item.function_code;
obj.level = item.level;
obj.permission_id = item.permission_id;
obj.disabled = true;
obj.disableCheckbox = true;
//第二层级
//注意这里需要obj = {children:[]}, 如果没有子节点则不需要
item.sub.forEach((child) => {
let kids = {};
kids.level = child.level;
kids.function_code = child.function_code;
kids.title = child.function_name;
kids.parent_id = child.parent_id;
kids.permission_id = child.permission_id;
obj.children.push(kids);
});
this.treeData.push(obj);
});
})
.catch((err) => {
this.$Message.error(err.msg || err.message);
});
},
}