以下是查找所有父级节点的方法
getParentIds2(data, orgCode) {
var ids = []
const loop = function(json) {
for (var obj of json) {
if (obj.children !== undefined) {
if (JSON.stringify(obj).match(orgCode)) {
ids.push(obj.orgCode)
}
if (obj.orgCode !== orgCode) {
loop(obj.children)
} else {
break
}
}
}
}
loop(data)
return ids
}
还可以做一些修改,如:通过type来修改节点的属性
getParentIds2 (data, id, type) {
var ids = []
let loop = function (json) {
for (var obj of json) {
if (obj.children) {
if (JSON.stringify(obj).match(id)) {
if (type === 0) {
obj.color = '1'
}
ids.push(obj)
}
if (obj.id !== id) {
loop(obj.children)
} else {
break
}
}
}
}
loop(data)
return ids
},
网友评论