(注:可作为工具方法单独提出来,然后在相关页面引用getPath方法;多用于编辑/修改表单时的数据回显)
getPath方法需要两个参数: 1.treeData表示用于提供级联选择器选择的数组; 2.targetId表示之前选中的数组的最后一级的值; 3.方法中的certNo表示级联选择器value值的键名
export function getPath (treeData, targetId) {
let path = [];
let toggle = false;
for (let i = 0; i < treeData.length; i++) {
let item = treeData[i];
path.push(item.certNo);
if (item.certNo === targetId) {
toggle = true;
break;
} else {
if (item.children) {
toggle = findPath(item.children, targetId, path, toggle)
if(!toggle){
path.pop();
} else {
break
}
} else {
path.pop();
}
}
}
if(toggle){
return path;
}else {
return [];
}
}
export function findPath (nodes, targetId, path, toggle) {
for (let i = 0; i < nodes.length; i++) {