表头主要复杂在:
1,有三层,一层是大类,第二层是具体项,第三层是标准值/对比值
2,首列和末尾列是一层
3,整个表格的维度是根据数据的输入自己生成,也就是动态的
下面是在 vue + eleUI 中的解决方案:
<el-table :data="tableData" border style="width: 100%" max-height="700" v-loading="areaLoading" element-loading-text="拼命加载中">
<el-table-column fixed label="IP" prop="ip" width="180"></el-table-column>
<el-table-column v-for="(item, index) in itemList" :key="index" :label="item.label">
<el-table-column :label="standard_name" v-for="(standard,standard_name) in item.standard" width="150">
<el-table-column :label="standard" min-width="150">
<template scope="scope">
<span>{{scope.row.list[item.label][standard_name]['value']}}</span>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column fixed="right" label="验收结果" width="100">
<template scope="scope">
<span :class="{'unqualified-color': !scope.row.result}">{{scope.row.result ? '合格' : '不合格'}}</span>
</template>
</el-table-column>
</el-table>
其对应data:
//整理出所有的label和标准对象的属性
itemList: [],
//实际数据
tableData: []
本文介绍了在Vue和Element-UI框架中如何应对多层级、复杂维度的表头生成问题。表头包含三层结构:大类、具体项和标准值/对比值,首列和末尾列固定。解决方案利用`v-for`指令动态渲染`el-table-column`,通过数据驱动实现表头的自动生成。示例代码展示了如何绑定数据并展示在表格中。
1万+

被折叠的 条评论
为什么被折叠?



