1、tree数据拍平
/**
* tree数据拍平
* @param {*} tree 树的数据
* @param {*} childrenKey 子树的节点
*/
export const treeFlat = (tree, childrenKey = 'children') => {
let newTree = []
const loop = (tree, childrenKey) => {
tree.map(item => {
newTree.push(item)
item[childrenKey] && item[childrenKey].length > 0 ? loop(item[childrenKey], childrenKey) : ''
})
}
loop(tree, childrenKey)
newTree.map(item => {
delete item[childrenKey]
return item
})
return newTree
}
1、tree的遍历
/**
* tree的遍历
* @param {*} tree 树的数据
* @param {*} childrenKey 子树的节点
*/
export const treeChange = (tree, childrenKey = 'children') => {
for (let item of tree) {
item.label = item.name
if (item[childrenKey] && item[childrenKey].length > 0) {
treeChange(item[childrenKey], childrenKey)
}
}
return tree
}