vue-element-admin树表接受json数据显示不对?

还在开发,就发现自己知道的真的太少了,得到后台的数据是这样的

{
    "code": 0,
    "message": "查询权限项列表成功",
    "data": [
        {
            "id": 2,
            "name": "用户模块",
            "url": "",
            "list": [
                {
                    "id": 13,
                    "name": "查询会员类型",
                    "url": "/common/list_type"
                },
                {
                    "id": 14,
                    "name": "查询订单列表",
                    "url": "/common/list_order"
                }
            ]
        },
        {
            "id": 3,
            "name": "支付模块",
            "url": "",
            "list": [
                {
                    "id": 18,
                    "name": "生成预支付订单",
                    "url": "/pay/wx/order"
                },
                {
                    "id": 19,
                    "name": "支付回调地址",
                    "url": "/pay/wx/notify"
                },
                {
                    "id": 20,
                    "name": "监听订单是否支付成功",
                    "url": "/pay/wx/verify"
                }
            ]
        },
        {
            "id": 4,
            "name": "成员模块",
            "url": "",
            "list": [
                {
                    "id": 21,
                    "name": "查询成员列表",
                    "url": "/common/list_member"
                },
                {
                    "id": 22,
                    "name": "保存成员信息",
                    "url": "/common/save_member"
                },
                {
                    "id": 23,
                    "name": "获取成员详情",
                    "url": "/common/get_member"
                },
                {
                    "id": 24,
                    "name": "删除成员",
                    "url": "/common/delete_member"
                }
            ]
        },
        {
            "id": 5,
            "name": "会议模块",
            "url": "",
            "list": [
                {
                    "id": 25,
                    "name": "查询会议列表",
                    "url": "/common/list_meeting"
                },
                {
                    "id": 26,
                    "name": "保存会议信息",
                    "url": "/common/save_meeting"
                },
                {
                    "id": 27,
                    "name": "获取会议详情",
                    "url": "/common/get_meeting"
                }
            ]
        }
    ],
    "success": true
}

用的是饿了吗的后台管理系统的树表,但是想嵌入数据,却不分级了
只展示一级,二级就不展示了

clipboard.png
在网上找了好多种方法感觉都没用,

<tree-table :data="data" :eval-func="func" :eval-args="args" :expand-all="expandAll" border>
      <el-table-column label="模块" align="center">
        <template slot-scope="scope">
          <span style="color:sandybrown">{{ scope.row.name }}</span>
          <!-- <el-tag>{{ scope.row.timeLine+'ms' }}</el-tag> -->
        </template>
      </el-table-column>
      <el-table-column label="操作" width="500" align="center">
        <template slot-scope="scope">
          <el-button type="text" @click="message(scope.row)">点击</el-button>
        </template>
      </el-table-column>
    </tree-table>

这是树表的结构

  data() {
    return {
      func: treeToArray,
      expandAll: false,
      data: {
        id: "",
        name: "",
        children: [
          {
            id: "",
            name: ""
          }
        ]
      },
      args: [null, null, "timeLine"]
    };
  },

这是初始数据的格式,难道我初始格式写错了吗?
还引入了它的小组件,感觉不是出那里的问题?求大佬帮忙看一下!

阅读 4.4k
4 个回答

有一个疑问,tree-table似乎不是element官方提供的组件呀。

同楼上,tree-table 不是官方组件。貌似你的后台得到数据格式和约定的不一样,后台数据里面list转成children看看

已解决了,和上面的一样,这个确实是从element-admin后台管理系统上扣下来改的,只要children改成list就可以了!

新手上路,请多包涵

博主,我在使用的时候遇到了数据的问题,我是用的是iview框架,我后台的数据是那种带有父id的json数据,不是这种嵌套数组的格式,而ivew中的treetable只接受这种带有children的json数据,可是我手动转换的话感觉比较麻烦,也不会,我是小白。有没有什么解决办法啊?

推荐问题