在实际需求中我们经常遇到各种奇葩的需求,不足为奇。每个项目的需求各不相同,实现功能的思路大致是一样的。
本文来具体介绍怎么实现table表格动态插入几列。
首先实现思路有2种,
1. 插入的位置如果是已知的,我知道在哪个标题的后面插入这就好办了。
上图可以看出就是在地址和备注2列之间插入数据,那就好办了。直接在地址后面写一个
<el-table-columnwidth="160"v-for="column in tableColumns":key="column.prop":prop="column.prop":label="column.label"></el-table-column>
通过 for 循环 数组动态遍历出来就可以实现功能了。
<el-table :data="tableData" border><el-table-column type="index" label="序号" width="120"></el-table-column><el-table-column prop="date" label="日期" width="120"></el-table-column><el-table-column prop="name" label="姓名" width="120"></el-table-column><el-table-column prop="phone" label="电话" width="120"></el-table-column><el-table-column prop="email" label="邮箱" width="120"></el-table-column><el-table-column prop="address" label="地址" width="120"></el-table-column><el-table-columnwidth="160"v-for="column in tableColumns":key="column.prop":prop="column.prop":label="column.label"></el-table-column><el-table-column prop="des" label="备注" width="120"></el-table-column></el-table>
return {tableData: [],tableColumns: [{prop: "1001",label: "1001"}, {prop: "1002",label: "1002"},{prop: "1003",label: "1003"}],}
2. 也可以这样写,列全部用数组动态显示出来,每列的顺序就看数组里面怎么排序给你返回了。
<el-table :data="tableData" border><el-table-column type="index" label="序号" width="120"></el-table-column><el-table-columnwidth="160"v-for="column in tableColumns":key="column.prop":prop="column.prop":label="column.label"></el-table-column>
</el-table>
return {tableData: [],tableColumns: [{prop: "date",label: "日期"},{prop: "name",label: "姓名"}, {prop: "phone",label: "电话"},{prop: "email",label: "邮箱"}, {prop: "address",label: "地址"}, {prop: "1001",label: "1001"}, {prop: "1002",label: "1002"},{prop: "1003",label: "1003"},{prop: "des",label: "备注"}],
}
3. 还有1种情况,就是不知道插入的顺序在哪,随机动态的,实现方法同方法2一样,但是 全部列的数组是由后端返回给你的,后端自己控制每列的排序。
今天就到这了。。。。。。