给树形数据每层添加属性

数据如下:

const tableData = [
        {
            "menuId": 1,
            "menuName": "系统管理",
            "pid": 0,
            "pids": "[0]",
            "url": "#",
            "perms": "#",
            "icon": "el-icon-setting",
            "type": 1,
            "sort": 1,
            "createDate": "2023-05-18 08:05:50",
            "updateDate": "2023-05-18 08:05:50",
            "status": 1,
            "deleteFlag": 1,
            "children": [
                {
                    "menuId": 2,
                    "menuName": "用户管理",
                    "pid": 1,
                    "pids": "[1]",
                    "url": "/system/sys_user",
                    "perms": "system:sys_user",
                    "icon": "el-icon-setting",
                    "type": 2,
                    "sort": 1,
                    "createDate": "2023-05-18 08:05:50",
                    "updateDate": "2023-05-18 08:05:50",
                    "status": 1,
                    "deleteFlag": 1,
                    "children": []
                },
                {
                    "menuId": 3,
                    "menuName": "角色管理",
                    "pid": 1,
                    "pids": "[1]",
                    "url": "/system/sys_role",
                    "perms": "system:sys_role",
                    "icon": "el-icon-setting",
                    "type": 2,
                    "sort": 2,
                    "createDate": "2023-05-18 08:05:50",
                    "updateDate": "2023-05-18 08:05:50",
                    "status": 1,
                    "deleteFlag": 1,
                    "children": []
                },
                {
                    "menuId": 4,
                    "menuName": "菜单管理",
                    "pid": 1,
                    "pids": "[1]",
                    "url": "/system/sys_menu",
                    "perms": "system:sys_menu",
                    "icon": "el-icon-setting",
                    "type": 2,
                    "sort": 3,
                    "createDate": "2023-05-18 08:05:50",
                    "updateDate": "2023-05-18 08:05:50",
                    "status": 1,
                    "deleteFlag": 1,
                    "children": []
                },
                {
                    "menuId": 5,
                    "menuName": "部门管理",
                    "pid": 1,
                    "pids": "[1]",
                    "url": "/system/dept",
                    "perms": "system:dept",
                    "icon": "el-icon-setting",
                    "type": 2,
                    "sort": 4,
                    "createDate": "2023-05-18 08:05:50",
                    "updateDate": "2023-05-18 08:05:50",
                    "status": 1,
                    "deleteFlag": 1,
                    "children": []
                },
                {
                    "menuId": 6,
                    "menuName": "日志记录",
                    "pid": 1,
                    "pids": "[1]",
                    "url": "/system/log",
                    "perms": "system:log",
                    "icon": "el-icon-setting",
                    "type": 2,
                    "sort": 5,
                    "createDate": "2023-05-18 08:05:50",
                    "updateDate": "2023-05-18 08:05:50",
                    "status": 1,
                    "deleteFlag": 1,
                    "children": []
                }
            ]
        },
        {
            "menuId": 7,
            "menuName": "教学管理",
            "pid": 0,
            "pids": "[0]",
            "url": "#",
            "perms": "#",
            "icon": "el-icon-setting",
            "type": 1,
            "sort": 2,
            "createDate": "2023-05-18 08:05:50",
            "updateDate": "2023-05-18 08:05:50",
            "status": 1,
            "deleteFlag": 1,
            "children": [
                {
                    "menuId": 8,
                    "menuName": "教学方向",
                    "pid": 7,
                    "pids": "[7]",
                    "url": "/teaching/direction",
                    "perms": "teaching:direction",
                    "icon": "el-icon-setting",
                    "type": 2,
                    "sort": 1,
                    "createDate": "2023-05-18 08:05:50",
                    "updateDate": "2023-05-18 08:05:50",
                    "status": 1,
                    "deleteFlag": 1,
                    "children": []
                },
                {
                    "menuId": 9,
                    "menuName": "方向课程",
                    "pid": 7,
                    "pids": "[7]",
                    "url": "/teaching/course",
                    "perms": "teaching:course",
                    "icon": "el-icon-setting",
                    "type": 2,
                    "sort": 2,
                    "createDate": "2023-05-18 08:05:50",
                    "updateDate": "2023-05-18 08:05:50",
                    "status": 1,
                    "deleteFlag": 1,
                    "children": []
                },
                {
                    "menuId": 10,
                    "menuName": "项目经理课时",
                    "pid": 7,
                    "pids": "[7]",
                    "url": "/teaching/class_hour",
                    "perms": "teaching:class_hour",
                    "icon": "el-icon-setting",
                    "type": 2,
                    "sort": 3,
                    "createDate": "2023-05-18 08:05:50",
                    "updateDate": "2023-05-18 08:05:50",
                    "status": 1,
                    "deleteFlag": 1,
                    "children": []
                }
            ]
        },
        {
            "menuId": 11,
            "menuName": "通知审批",
            "pid": 0,
            "pids": "[0]",
            "url": "/flow",
            "perms": "flow:add",
            "icon": "el-icon-setting",
            "type": 1,
            "sort": 1,
            "createDate": "2023-06-27 00:24:21",
            "updateDate": "2023-06-27 00:24:26",
            "status": 1,
            "deleteFlag": 1,
            "children": []
        }

    ];

添加属性的函数如下:

 

const addAttr = (treeData) => {
        return treeData.map((item) => ({
            ...item,
            label: item.menuName,
            value: item.menuId,
            hasChildren: item.children?.length>0 ? true : false,
            children: item.children?addAttr(item.children) : []
        }))
    }

调用函数传入数据,获取到处理好的数据

 let data=addAttr(tableData)

    console.log(data)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值