开门见山,我直接阐述我的问题的由来:
根据Element官方的Demo,使用其渲染一个表格需要以下代码:
<el-table
:data="data"
stripe border>
<el-table-column
prop="date"
label="日期"
width="180">
</el-table-column>
<el-table-column
prop="name"
label="姓名"
width="180">
</el-table-column>
<el-table-column
prop="address"
label="地址">
</el-table-column>
</el-table>
在此,我们不讨论多级表头及各种骚操作,假设项目经理提出了一个新的需求。”不同的用户表格需要展示的列不同,不同用户可以根据自己的使用偏好自定义表格列的顺序(序号列不参与)。“
我们开始着手实现这个需求,我们提出两个实现方案:1、v-if;2、v-for;
本文主要阐述以v-for来实现这一需求,因此对于方案1的实现仅仅阐述思路。v-if仅仅可以根据权限的不同实现表格展示特定的列,单表格的顺序是没法控制的,在编码的时候就被局限了。通过保留一个JSON,为表格的每个字段分配一个布