我是靠谱客的博主 纯真音响,最近开发中收集的这篇文章主要介绍iView级联选择器回显问题(根据子节点id递归获取所有父类id的数组),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

根据子节点递归获取所有父类id的数组

JSON数据(这里直接使用iview级联选择器里面的示例数据)

let nodes = [{
value: 'beijing',
label: '北京',
children: [{
value: 'gugong',
label: '故宫'
},
{
value: 'tiantan',
label: '天坛'
},
{
value: 'wangfujing',
label: '王府井'
}
]
}, {
value: 'jiangsu',
label: '江苏',
children: [{
value: 'nanjing',
label: '南京',
children: [{
value: 'fuzimiao',
label: '夫子庙',
}]
},
{
value: 'suzhou',
label: '苏州',
children: [{
value: 'zhuozhengyuan',
label: '拙政园',
},
{
value: 'shizilin',
label: '狮子林',
}
]
}
],
}]

JS代码

// 根据子节点id递归获取所有父类的id
let code = 'shizilin'
//子节点id
狮子林
function treeFindPath (tree, func, path = []) {
if (!tree) return []
for (const data of tree) {
path.push(data.value)
if (func(data)) return path
if (data.children) {
const findChildren = treeFindPath(data.children, func, path)
if (findChildren.length) return findChildren
}
path.pop()
}
return []
}
//将递归获取到的数组赋值给result
let result = treeFindPath(nodes, node => node.value === code)
console.log(result,'result')

输出结果

["jiangsu","suzhou","shizilin"]
//result
江苏
苏州
狮子林

最后

以上就是纯真音响为你收集整理的iView级联选择器回显问题(根据子节点id递归获取所有父类id的数组)的全部内容,希望文章能够帮你解决iView级联选择器回显问题(根据子节点id递归获取所有父类id的数组)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部