vue表格Table实现动态列和动态列名
需求:
展示不同系统传入的用户信息,正是因为数据源不同,所以这些信息字段名不同,字段数也不同
实现思路
使用两个List,一个存放数据,一个存放列名,tableColumn
使用v-for
遍历列名List,通过:prop
与数据List内容匹配绑定。
两个List格式大致如下:
//数据List
dataList:[{name:'张三',age:20,gender:'男'},{name:'李四',age:25,gender:'女'}...]
//列名List
titleList:[{label:'名字',value:'name'},{label:'年龄',value:'age'},{label:'性别',value:'gender'}]
实现代码
<el-table ref="userTable" :header-cell-style="{ background: '#F2F6FC', color: '#131414' }" :data="dateList" border max-height="500">
<el-table-column label="标识ID" type="index" width="100" align="center" />
<el-table-column v-for="item in titleList" :key="item.value" :label="item.label" :prop="item.value" />
</el-table>
这样就可以根据传入的不同数据,展示不同的表格了~