1 封装 数组转树型结构 公用方法
// 将列表型数据,转化为 树型数据 => 递归算法 =>
export function tranListToTreeData(list, rootValue) {
const arr = []
list.forEach(item => {
if (item.pid === rootValue) {
// 找到之后 => 再找 item 下有没有子节点
const children = tranListToTreeData(list, item.id)
if (children.length) {
// children的长度大于0 => 有字节点
item.children = children
}
arr.push(item) // 将内容加入到数组中
}
})
return arr
}
2 导入使用方法
data() {
return {
departs: [],
}
},
methods: {
async getDepartments() {
// 请求数据
const data = await getDepartments()
// 使用 数组转树形结构 方法
this.departs = tranListToTreeData(data.depts, '')
}
}