递归树结构
generateOptions (params) { // 生成Cascader级联数据
var result = []
for (let param of params) {
if (!param.isLeaf && !param.parentId) { // 判断是否为顶层节点
var parent = { // 转换成el-Cascader可以识别的数据结构
'label': param.name,
'cameraName': param.cameraName,
'id': param.id
}
parent.children = this.getchilds(param.id, params) // 获取子节点
result.push(parent)
}
}
return result
},
getchilds (id, array) {
let childs = []
for (let arr of array) { // 循环获取子节点
if (arr.parentId === id) {
childs.push({
'label': arr.name,
'cameraName': arr.cameraName,
'id': arr.id,
'parentId': arr.parentId,
'playUrl': arr.playUrl
})
}
}
for (let child of childs) { // 获取子节点的子节点
let childscopy = this.getchilds(child.id, array) // 递归获取子节点
if (childscopy.length > 0) {
child.children = childscopy
}
}
return childs
},

965

被折叠的 条评论
为什么被折叠?



