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)
  • 相关阅读:
    tp框架自带扩展分页类修改样式
    win7获取管理员权限
    Git学习手记(二)
    安卓导出安装包
    浅谈存储过程
    Java宝典
    单例设计模式
    关于Cookie的有关内容
    开辟html5和css3学习随笔(2015-3-2)
    关于面试题
  • 原文地址:https://www.cnblogs.com/baifubin/p/15181271.html
Copyright © 2011-2022 走看看