需求:联级选择器获取的是一个数组,但是后端一般只存最后一级id,回显时需要自己处理数据
思路:利用最后一级id反查出上级id
/**
*回显多级
*
* @param {key} 后端拿到的id
* @param {treeData} options绑定数据
* @returns
*/
changeDetSelect(key, treeData) {
let arr = [];
let returnArr = [];
let depth = 0;
function childrenEach(childrenData, depthN) {
for (let j = 0; j < childrenData.length; j++) {
depth = depthN;
arr[depthN] = childrenData[j].id;
if (childrenData[j].id == key) {
returnArr = arr.slice(0, depthN + 1);
break;
} else {
if (childrenData[j].children) {
depth++;
childrenEach(childrenData[j].children, depth);
}
}
}
return returnArr;
}
return childrenEach(treeData, depth);
},