嵌套数组z通过给定的最后一级的code获得他的所有父级的code

it2022-05-05  109

需求:级联选择的数据保存时只保存了最后一级的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)

element : :props="{ multiple: true, checkStrictly: true, emitPath: false, label: ‘templateName’, value: ‘templateCode’, children: ‘children’}" 这个加粗的属性可以直接获取到选中的值  model绑定的数组值中只有选择的一项 然后修改的时候直接把这个值再赋回去就好啦


最新回复(0)