前端的数据分类-来自后台的json数组数据

49 篇文章 0 订阅

将后台返回的数组,按照父子结构分类,并展示
如下为最简单的实现方法

需求:

后台返回数据
在这里插入图片描述
前端要展示的效果
在这里插入图片描述

实现代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <title>Document</title>
  <style>
    *{
      padding: 0;
      margin: 0;
      box-sizing: border-box;
      list-style: none;
    }
    ul.tab{
      margin-bottom: 20px;
      display: block;
      overflow: hidden;
    }
    
    .tab li{
      width: 120px;
      float: left;
      text-align: center;
      border-bottom:1px solid #ccc;
      margin-left: 20px;
      height: 40px;
      line-height: 40px;
    }
    li.on{
      border-bottom:1px solid #69f;
    }
    .title{
     font-size: 18px; border: 1px solid #ccc;
     background-color: #ddd;
     margin-bottom: 10px;
     padding: 0 10px;
    }

    li{
      line-height: 40px;
    }

    .list{
      width: 500px;
      height: 500px;
      overflow: auto;
    }

  </style>
</head>
<body>

  <div id="app">
    <h2> {{msg}} </h2>
    <hr/>
    <div style="border: 1px solid #ddd; margin: 10px; padding: 20px; overflow: auto;">
      <ul class="tab">
        <li  v-for="(item,index) in allKind" :key="item.name" 
          :class="[index == currentIndex ? 'on':'']"
          @click="liClick(index)">
          {{item.name}}
        </li>
      </ul>
      <div class="list">
        <ul>
          <li v-for="(item,index) in currentList.children" :key="item.name">
            <div v-if="item.children && item.children.length>0">
              <div class="title">{{item.name}}</div>
              <ul v-for="(sub) in item.children" :key="sub.propertyname">
                <li>
                  <div v-if="sub.children && sub.children.length>0">
                    <div class="title">{{sub.propertyname}}</div>
                    <ul v-for="(son) in sub.children" :key="son.name">
                      <li>
                        无限循环 {{son.name}} {{ son.children }}
                      </li>
                    </ul>
                  </div>
                  <div v-else>{{sub.propertyname}}: 
                    <input />
                  </div>
                </li>
              </ul>
            </div>
            <div v-else>{{ item.name }}</div>
          </li>
        </ul>
      </div>
    </div>
  </div>


  <script>


    var obj =
      {
        "PropertyTypelist": "[{\"name\":\"属性\",\"propertyTypeName\":\"properties\"},{\"name\":\"类型\",\"propertyTypeName\":\"type\"}]",
        "dtT": [
          {
            "id": 36446732,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "约束",
            "propertyname": "底部标高",
            "ifcurl": null,
            "provalue": "ROOF PLAN",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446733,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "构造",
            "propertyname": "椽截面",
            "ifcurl": null,
            "provalue": "33615",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446734,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "构造",
            "propertyname": "封檐板深度(m)",
            "ifcurl": null,
            "provalue": "0",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446735,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "标识数据",
            "propertyname": "图像",
            "ifcurl": null,
            "provalue": "",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446736,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "标识数据",
            "propertyname": "注释",
            "ifcurl": null,
            "provalue": "",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446737,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "标识数据",
            "propertyname": "标记",
            "ifcurl": null,
            "provalue": "",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446738,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "消防系统",
            "propertyname": "Rating",
            "ifcurl": null,
            "provalue": "",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446739,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "阶段化",
            "propertyname": "创建的阶段",
            "ifcurl": null,
            "provalue": "New Construction",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446740,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "阶段化",
            "propertyname": "拆除的阶段",
            "ifcurl": null,
            "provalue": "无",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446741,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "标识数据",
            "propertyname": "设计选项",
            "ifcurl": null,
            "provalue": "主模型",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446742,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "尺寸标注",
            "propertyname": "坡度(%)",
            "ifcurl": null,
            "provalue": "",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446743,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "约束",
            "propertyname": "房间边界",
            "ifcurl": null,
            "provalue": "1",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446744,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "编辑板形状",
            "propertyname": "弯曲边缘条件",
            "ifcurl": null,
            "provalue": "0",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446745,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "约束",
            "propertyname": "与体量相关",
            "ifcurl": null,
            "provalue": "0",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446746,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "尺寸标注",
            "propertyname": "厚度(m)",
            "ifcurl": null,
            "provalue": "",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446747,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "约束",
            "propertyname": "自标高的底部偏移(m)",
            "ifcurl": null,
            "provalue": "-0.587375",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446748,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "约束",
            "propertyname": "截断标高",
            "ifcurl": null,
            "provalue": "无",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446749,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "约束",
            "propertyname": "截断偏移(m)",
            "ifcurl": null,
            "provalue": "0",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446750,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "构造",
            "propertyname": "最大屋脊高度(m)",
            "ifcurl": null,
            "provalue": "2533.5357",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446751,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "尺寸标注",
            "propertyname": "体积(m³)",
            "ifcurl": null,
            "provalue": "33.1137760661546",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446752,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "尺寸标注",
            "propertyname": "面积(㎡)",
            "ifcurl": null,
            "provalue": "75.4351607655083",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446753,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "构造",
            "propertyname": "结构",
            "ifcurl": null,
            "provalue": "",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446754,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "图形",
            "propertyname": "粗略比例填充样式",
            "ifcurl": null,
            "provalue": "",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446755,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "图形",
            "propertyname": "粗略比例填充颜色",
            "ifcurl": null,
            "provalue": "8421504",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446756,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "构造",
            "propertyname": "默认的厚度(m)",
            "ifcurl": null,
            "provalue": "0.473075",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446757,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "标识数据",
            "propertyname": "类型图像",
            "ifcurl": null,
            "provalue": "",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446758,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "标识数据",
            "propertyname": "注释记号",
            "ifcurl": null,
            "provalue": "",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446759,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "标识数据",
            "propertyname": "型号",
            "ifcurl": null,
            "provalue": "",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446760,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "标识数据",
            "propertyname": "制造商",
            "ifcurl": null,
            "provalue": "",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446761,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "标识数据",
            "propertyname": "类型注释",
            "ifcurl": null,
            "provalue": "",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446762,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "标识数据",
            "propertyname": "URL",
            "ifcurl": null,
            "provalue": "",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446763,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "标识数据",
            "propertyname": "说明",
            "ifcurl": null,
            "provalue": "",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446764,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "标识数据",
            "propertyname": "部件说明",
            "ifcurl": null,
            "provalue": "Roof Construction",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446765,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "标识数据",
            "propertyname": "部件代码",
            "ifcurl": null,
            "provalue": "B1020",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446766,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "标识数据",
            "propertyname": "类型标记",
            "ifcurl": null,
            "provalue": "",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446767,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "标识数据",
            "propertyname": "成本",
            "ifcurl": null,
            "provalue": "",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446768,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "分析属性",
            "propertyname": "传热系数(U)(W/(m².K))",
            "ifcurl": null,
            "provalue": "14488.1889763779",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446769,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "分析属性",
            "propertyname": "热阻(R)((m²·K)/W)",
            "ifcurl": null,
            "provalue": "6.90217391304348E-05",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446770,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "分析属性",
            "propertyname": "热质量(KJ/K)",
            "ifcurl": null,
            "provalue": "3.571904727144",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446771,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "分析属性",
            "propertyname": "吸收率",
            "ifcurl": null,
            "provalue": "0.1",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446772,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "type",
            "propertySetName": "分析属性",
            "propertyname": "粗糙度",
            "ifcurl": null,
            "provalue": "1",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446773,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "几何中心点",
            "propertyname": "X",
            "ifcurl": null,
            "provalue": "3492.494",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446774,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "几何中心点",
            "propertyname": "Y",
            "ifcurl": null,
            "provalue": "-1206.23645",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446775,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "几何中心点",
            "propertyname": "Z",
            "ifcurl": null,
            "provalue": "2533299.2121",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446776,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "包围盒顶点坐标",
            "propertyname": "point 1",
            "ifcurl": null,
            "provalue": "-2019.306,-5651.2365,2533062.7242",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446777,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "包围盒顶点坐标",
            "propertyname": "point 2",
            "ifcurl": null,
            "provalue": "9004.294,-5651.2365,2533062.7242",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446778,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "包围盒顶点坐标",
            "propertyname": "point 3",
            "ifcurl": null,
            "provalue": "9004.294,3238.7636,2533062.7242",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446779,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "包围盒顶点坐标",
            "propertyname": "point 4",
            "ifcurl": null,
            "provalue": "-2019.306,3238.7636,2533062.7242",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446780,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "包围盒顶点坐标",
            "propertyname": "point 5",
            "ifcurl": null,
            "provalue": "-2019.306,-5651.2365,2533535.7",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446781,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "包围盒顶点坐标",
            "propertyname": "point 6",
            "ifcurl": null,
            "provalue": "9004.294,-5651.2365,2533535.7",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446782,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "包围盒顶点坐标",
            "propertyname": "point 7",
            "ifcurl": null,
            "provalue": "9004.294,3238.7636,2533535.7",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          },
          {
            "id": 36446783,
            "glid": "4523149",
            "externalId": "4523149",
            "propertyTypeName": "properties",
            "propertySetName": "包围盒顶点坐标",
            "propertyname": "point 8",
            "ifcurl": null,
            "provalue": "-2019.306,3238.7636,2533535.7",
            "modelName": "766218",
            "groupname": "基本屋顶",
            "MileageID": 16,
            "DocumentModel": "766218"
          }
        ]
      }
  

      var vm=new Vue({
      el: '#app',
      data:{
        msg: '标题',
        allKind: [],
        currentList: [],
        currentIndex: 0
      },
      mounted(){
        this.dealData();
      },
      methods:{
        liClick(index){
          console.log('index',index);
          this.currentIndex = index;
          this.currentList = this.allKind[index]
        },
        dealData(){
          let allKindArr;
          if(typeof obj.PropertyTypelist === 'string'){
            allKindArr = JSON.parse(obj.PropertyTypelist)
          }else{
            allKindArr = obj.PropertyTypelist
          }

          for (let i = 0; i < allKindArr.length; i++) {
            for (let j = 0; j < obj.dtT.length; j++) {
              if(obj.dtT[j].propertyTypeName == allKindArr[i].propertyTypeName){
                if(!allKindArr[i].data){
                  allKindArr[i].data = []
                }
                allKindArr[i].data.push(obj.dtT[j])
              }
            }
          }

          console.error('allKindArr',allKindArr);

          // 再次循环,对儿子分类
          for (let i = 0; i < allKindArr.length; i++) {
            let nameArr = []
            console.error('清空nameArr',nameArr.toString());
            
            for (let j = 0; j < allKindArr[i].data.length; j++) {
              let one = allKindArr[i].data[j]
              if(!nameArr.includes(one.propertySetName)){
                nameArr.push(one.propertySetName)
                console.log('nameArr:',nameArr.toString());
                let newKind = {
                  name: one.propertySetName,
                  children: [one]
                }
                if(!allKindArr[i].children){
                  allKindArr[i].children = []
                }
                allKindArr[i].children.push(newKind)
              }
              else{
                // 如果已经存在了
                // console.error('nameArr存在',j,nameArr.toString());
                let indx = nameArr.indexOf(one.propertySetName);
                console.log('indx',indx);
                allKindArr[i].children[indx].children.push(one)
              }
            }
          }
          
          this.allKind = allKindArr;
          // 默认第一个
          this.currentList = this.allKind[0];
          console.log('currentList',this.currentList);
        }
      }
    })
  </script>
  
</body>
</html>

以上为最简单的实现方法:其实:

最佳实现方法: 组件递归

对于这种无限循环的内容,最好采用vue的组件递归的方法,就能轻松适应了。不管后台返回多少层,都能循环渲染出来。
如果对vue的组件递归方法有兴趣的,可以自己百度,也可以加我微信号yizheng369聊喔。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值