item.id === id && item.label === label这一步给定一个能保证唯一的就行
findPid(list, id, label) {
for(let item of list) {
if(item.id === id && item.label === label) {
return item
}else if(item.hasOwnProperty('children') && item.children.length>0) {
const result = this.findPid(item.children, id, label)
if(result) {
return result
}
}
}
return null // 没找到返回null
},
举例调用:
const treeList =
[
{
id: 0,
label: '不限',
checked: false,
isIndeterminate: false,
children: [],
},
{
id: 1,
label: '江苏省',
checked: false,
isIndeterminate: false,
children: [
{
id: 0,
label: '南京',
children: [
{
id: 11,
label: '秦淮区'
}
]
},
{
id: 1,
label: '苏州',
},
{
id: 2,
label: '扬州',
},
{
id: 3,
label: '无锡',
},
]
},
{
id: 2,
label: '河南省',
checked: false,
isIndeterminate: false,
children: [
{
id: 4,
label: '洛阳',
},
{
id: 5,
label: '信阳',
},
]
}
]
const result = findPid(treeList, '5', '信阳')