概述
// 递归查询父节点
findFather() {
const that = this;
// 子节点的ID
const key = parseInt(103);
const find = function (list, node) {
list.some(item => {
// 如果匹配到了
if (item.id == key) {
node.push(key);
console.log(node);
// ps:这里是个坑,我没找到办法直接把值return出去关闭掉整个循环,所以我直接定义个变量赋值(ಥ_ಥ)
that.defOptions = node;
} else {
// 如果子节点不为空 && 现有的返回结果Node里不存在我们的key(ps:之所以要判断也是因为上面那个坑(ಥ_ಥ).....)
if (item.children && !(node.includes(key))) {
// 先把这次遍历的父节点加到要返回的Node里面
node.push(item.id);
// 没找到匹配数据的话就继续用子节点遍历一直向下
find(item.children,node);
// 如果此次遍历未找到子节点则删除上面添加的父节点
if (!node.includes(key)) {
let index = node.indexOf(item.id);
node.splice(index, index
+ 1)
}
}
}
});
};
// 示例数据
const mokeList = [
{
"id": 100,
"label": "若依科技",
"value": 100,
"children": [
{
"id": 101,
"label": "深圳总公司",
"value": 101,
"children": [
{
"id": 103,
"label": "经济和科技促进局",
"value": 103
},
{
"id": 104,
"label": "人力资源和社会保障局",
"value": 104
},
{
"id": 105,
"label": "发展改革局",
"value": 105
},
{
"id": 106,
"label": "财政局",
"value": 106
},
{
"id": 107,
"label": "运维部门",
"value": 107
}
]
},
{
"id": 102,
"label": "长沙分公司",
"value": 102,
"children": [
{
"id": 108,
"label": "市场部门",
"value": 108
},
{
"id": 109,
"label": "财务部门",
"value": 109
}
]
}
]
}
];
return find(mokeList, []);
}
}
最后
以上就是会撒娇野狼为你收集整理的ElUi 级联选择器 子节点递归父节点的全部内容,希望文章能够帮你解决ElUi 级联选择器 子节点递归父节点所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复