需求:級聯選擇的數據保存時只保存了最後一級的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)