Element UI使用表格动态渲染数据

json数据多层嵌套如何实现渲染

例如:我们表头需要第一层的datetime和data下面的属性

解决办法:

 1 <!-- 表格 -->
 2     <el-table
 3       id="out-table"
 4       :data="tabeldata"
 5       style="width: 100%;"
 6       tooltip-effect="dark"
 7       stripe
 8       border
10     >
13       <el-table-column prop="datetime" label="日期" fixed>
14         <template slot-scope="scope">
15           <!-- scope.row.datetime表示获取tabeldata下每一行的也就是每一项中datetime的数据 -->
16           <span>{{ scope.row.datetime }}</span>
17         </template>
18       </el-table-column>
19       <!-- 详细信息 -->
20       <!-- tableHead就是获取的第二层data数据的属性,也就是表头 -->
21       <el-table-column
22         v-for="(item, index) in tableHead"
23         :label="item"
24         :key="index"
25       >
26         <template slot-scope="scope">
27           <!-- scope.row.data[item]表示获取tabeldata下每一行的也就是每一项中属性为data[属性] -->
28           {{ scope.row.data[item] }}
29         </template>
30       </el-table-column>
31     </el-table>

其中,日期是固定的每个表都有,所以我们可以直接写;而剩下的表头,是第二层data数据下面的,通过动态渲染

怎么获取第二层data下每一项的属性,也就是头

 1 //获取data数据,放入tableData1中
 2  $.each(result.data, function (index, element) {
 3             tableData1.push(result.data[index].data);
 4           });
 5            // 获取表头,通过双层嵌套获取json数据的第二层的属性
 6           for (var i in tableData1) {
 7             var header = [];
 8             for (var j in tableData1[i]) {
 9               header.push(j);
10             }
11           }

 

posted @ 2020-08-17 14:57  一江春水向东刘小姐  阅读(9955)  评论(0编辑  收藏  举报