今天写树形控件的时候,我先动态生成了父节点,用展开事件从后端拿值动态生成子节点的时候,出现了问题,只展开一个节点没问题,但是展开两个或者多个的时候,值就会重复,节点展开后是所有展开节点的值总和,这个该怎么解决呢
(1)应该走load-data异步加载方法
(2)chilren要挂在给对应的节点数据上
(3) 更新数据
if (treeNode.dataRef.id == "-1") {
return
}
if (treeNode.dataRef.children) {
return;
}
let { result: data } = await axios.get('/camera/deviceCategory/tree', { params: { parentId: treeNode.dataRef.id } })
treeNode.dataRef.children = data.map(item => {
let img = "/biz/camera/qiangji.svg";
item.treeType = (item.type == "camera_category" ? 0 : '1');
if (item.treeType == '1') {
if (item.equipmentType == 0) {
img = item.online ? "/biz/camera/qiangji-online.svg" : "/biz/camera/qiangji.svg"
} else {
img = item.online ? "/biz/camera/ball-online.svg" : "/biz/camera/ball.svg"
}
item.img = img;
}
item.isLeaf = !item.count,
item.scopedSlots = {
title: 'custom'
};
return item;
})
this.treeData = [...this.treeData];
return treeNode;