fungleo
2020-08-04 876ecf21c713ce333e676f9b81c57de4ecc983d3
优化构建树形数据JS方法
已修改1个文件
12 ■■■■■ 文件已修改
ruoyi-ui/src/utils/ruoyi.js 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/utils/ruoyi.js
@@ -126,23 +126,19 @@
 * @param {*} children 孩子节点字段 默认 'children'
 * @param {*} rootId 根Id 默认 0
 */
export function handleTree(data, id, parentId, children, rootId) {
    id = id || 'id'
    parentId = parentId || 'parentId'
    children = children || 'children'
    rootId = rootId || 0
export function handleTree(data = [], id = 'id', parentId = 'parentId', children = 'children', rootId = 0) {
    //对源数据深度克隆
    const cloneData = JSON.parse(JSON.stringify(data))
    //循环所有项
    const treeData = cloneData.filter(father => {
        let branchArr = cloneData.filter(child => {
        const branchArr = cloneData.filter(child => {
            //返回每一项的子级数组
            return father[id] === child[parentId]
        });
        branchArr.length > 0 ? father.children = branchArr : '';
        branchArr.length && (father.children = branchArr);
        //返回第一层
        return father[parentId] === rootId;
    });
    return treeData != '' ? treeData : data;
    return treeData !== '' ? treeData : data;
}