需求:级联选择的数据保存时只保存了最后一级的code 修改时要通过最后一级的code获取他的父级的所有code否则修改时选不中最后一级 (当然啦 element那么强大这个需求可以直接通过props配置的)这里写的只是一种方法js操作的可以用在其他的这种需求里面
如图要为选中状
getParaentCode(classifyList, code) { // 获取通过最后一层的code获取他的所有父级的code classifyList list 数据 已知的子code
let temp = [code]
let forFn = function (arr, code) {
for (let i = 0; i < arr.length; i++) {
let item = arr[i]
if (item.children) {
let data = item.children.find(item1 => item1.templateCode === code)
if (data) {
temp.unshift(item.templateCode)
forFn(classifyList, item.templateCode)
break
} else {
forFn(item.children, code)
}
}
}
}
forFn(classifyList, code) return temp
}
使用
this.labelData.parentCode = this.getParaentCode(this.templateClassify, this.labelData.categoryCode)