zoukankan      html  css  js  c++  java
  • js递归生成树形结构-vue

    {
    "code": "0",
    "message": "SUCCESS",
    "data": [
    {
    "code": 1,
    "parentCode": 0,
    "value": "IPO上市",
    "status": 0,
    "comment": "IPO上市",
    "showOrder": 1
    },
    {
    "code": 2,
    "parentCode": 0,
    "value": "公司制改建",
    "status": 0,
    "comment": "公司制改建",
    "showOrder": 2
    },
    {
    "code": 3,
    "parentCode": 0,
    "value": "对外投资",
    "status": 0,
    "comment": "对外投资",
    "showOrder": 3
    },
    {
    "code": 4,
    "parentCode": 0,
    "value": "接受投资",
    "status": 0,
    "comment": "接受投资",
    "showOrder": 4
    },
    {
    "code": 5,
    "parentCode": 0,
    "value": "合并、分立、破产、清算、解散",
    "status": 0,
    "comment": "合并、分立、破产、清算、解散",
    "showOrder": 5
    },
    {
    "code": 6,
    "parentCode": 0,
    "value": "股东股权比例变动",
    "status": 0,
    "comment": "股东股权比例变动",
    "showOrder": 6
    },
    {
    "code": 7,
    "parentCode": 0,
    "value": "产权转让",
    "status": 0,
    "comment": "产权转让",
    "showOrder": 7
    },
    {
    "code": 8,
    "parentCode": 0,
    "value": "上市公司发行股份购买资产",
    "status": 0,
    "comment": "上市公司发行股份购买资产",
    "showOrder": 8
    },
    {
    "code": 9,
    "parentCode": 0,
    "value": "资产转让、置换、拍卖",
    "status": 0,
    "comment": "资产转让、置换、拍卖",
    "showOrder": 9
    },
    {
    "code": 10,
    "parentCode": 0,
    "value": "资产抵押/质押",
    "status": 0,
    "comment": "资产抵押/质押",
    "showOrder": 10
    },
    {
    "code": 11,
    "parentCode": 0,
    "value": "资产捐赠",
    "status": 0,
    "comment": "资产捐赠",
    "showOrder": 11
    },
    {
    "code": 12,
    "parentCode": 0,
    "value": "资产租赁",
    "status": 0,
    "comment": "资产租赁",
    "showOrder": 12
    },
    {
    "code": 13,
    "parentCode": 0,
    "value": "资产补偿/损失补偿",
    "status": 0,
    "comment": "资产补偿/损失补偿",
    "showOrder": 13
    },
    {
    "code": 14,
    "parentCode": 0,
    "value": "资产偿债",
    "status": 0,
    "comment": "资产偿债",
    "showOrder": 14
    },
    {
    "code": 15,
    "parentCode": 0,
    "value": "资产涉讼",
    "status": 0,
    "comment": "资产涉讼",
    "showOrder": 15
    },
    {
    "code": 16,
    "parentCode": 0,
    "value": "资产收购",
    "status": 0,
    "comment": "资产收购",
    "showOrder": 16
    },
    {
    "code": 17,
    "parentCode": 0,
    "value": "接受抵债资产",
    "status": 0,
    "comment": "接受抵债资产",
    "showOrder": 17
    },
    {
    "code": 18,
    "parentCode": 0,
    "value": "债转股",
    "status": 0,
    "comment": "债转股",
    "showOrder": 18
    },
    {
    "code": 19,
    "parentCode": 0,
    "value": "债务重组及其他",
    "status": 0,
    "comment": "债务重组及其他",
    "showOrder": 19
    },
    {
    "code": 20,
    "parentCode": 0,
    "value": "追溯评估",
    "status": 0,
    "comment": "追溯评估",
    "showOrder": 20
    },
    {
    "code": 21,
    "parentCode": 0,
    "value": "复核报告",
    "status": 0,
    "comment": "复核报告",
    "showOrder": 21
    },
    {
    "code": 22,
    "parentCode": 0,
    "value": "了解价值",
    "status": 0,
    "comment": "了解价值",
    "showOrder": 22
    },
    {
    "code": 23,
    "parentCode": 0,
    "value": "财务会计报告目的",
    "status": 0,
    "comment": "财务会计报告目的",
    "showOrder": 23
    },
    {
    "code": 24,
    "parentCode": 0,
    "value": "计税价格评估",
    "status": 0,
    "comment": "计税价格评估",
    "showOrder": 24
    },
    {
    "code": 25,
    "parentCode": 0,
    "value": "认定报关价格",
    "status": 0,
    "comment": "认定报关价格",
    "showOrder": 25
    },
    {
    "code": 26,
    "parentCode": 0,
    "value": "其他",
    "status": 0,
    "comment": "其他",
    "showOrder": 26
    }
    ]
    }
    

      

    // 生成树结构
        initTree (parentCode) {
          // jsonArray 变量数据
          // 第一次以后:根据id去查询parent_id相同的(相同为子数据)
          // 第一次:查找所有parent_id为-1的数据组成第一级
          let that = this
          let res = that.dataList // 你的树结构
    
          const child = res.filter(item => item.parentCode == parentCode)
          // 第一次:循环parent_id为-1数组
          return child.map(item => ({
              ...item,
              // 当前存在id(id与parent_id应该是必须有的)调用initTree() 查找所有parent_id为本id的数据
              // childs字段写入
              childs: that.initTree(item.code)
          }))
        },
    

      

    this.initTree(0)
  • 相关阅读:
    数据库锁表处理汇总
    2021,顺其自然
    NetCore中跨域策略的一个坑
    Furion框架亮点之-动态WebAPI
    sql中where in的数量限制
    动态规划学习笔记
    用Go编写Web应用程序
    Asp.net Core AutoFac根据程序集实现依赖注入
    Linux+Docker+Gitee+Jenkins自动化部署.NET Core服务
    CentOS8.0安装Nacos
  • 原文地址:https://www.cnblogs.com/baifubin/p/15181271.html
Copyright © 2011-2022 走看看