let arr = [
{
id:1,
name:'汽车',
children:[
{
children:[
{
id:13,
name:'鲜花',
}
]
id:12,
name:'水果',
},
{
id:13,
name:'牛奶',
},
]
}
]
- 1、使用emelemn ui el-cascader 组件回显时需要子节点上所有父节点的id才能正常回显出来效果 但是后台那边值只需要传当前节点选中的id 但是我们页面根据item只能获取到当前id 这时我们就需要根据当前获取的id去找所有父节点id
ChainBack(id){
let arr = this.doMatch(Arr, id);
console.log(arr)
},
doMatch(treeData, key) {
let arr = [];
let returnArr = [];
let depth = 0;
function childrenEach(childrenData, depthN) {
for (let j = 0; j < childrenData.length; j++) {
depth = depthN;
arr[depthN] = childrenData[j].id;
if (childrenData[j].id == key) {
returnArr = arr.slice(0, depthN + 1);
break;
} else {
if (childrenData[j].children) {
depth++;
childrenEach(childrenData[j].children, depth);
}
}
}
return returnArr;
}
return childrenEach(treeData, depth);
},