不得不说,百度很强大,只要搜索饿了么怎么动态设置列会得到很多答案;
1、v-show(不生效):v-show直接绑定,得到的结果很意外,哈哈,不起作用,饿了么对v-show不感冒;
2、v-if():此方法确实可以控制显示与隐藏;不过分情况使用:
>>a: element组件 el-table-column
<el-table-column v-if="colData[0].istrue" prop="CustName" min-width="85" label="客户姓名" :show-overflow-tooltip='true' align="center"> </el-table-column> 注意看结构;这里只采用了prop传值的写法;也就是说tabel展示出来的数据是只可读的不可以操作某一列里面的某一个字段;
若只是可读,那么可以使用这个方法控制动态展示列;v-if绑定动态值;
>>b: element组件 el-table-column (可以点击tabel表格的某一展示值,做一些事情,如:弹窗,跳转等)
<el-table-column key="1" v-if="colData[0].istrue" prop="CustName" min-width="85" label="客户姓名" :show-overflow-tooltip='true' align="center"> <template slot-scope="scope"> <el-tag size="mini"> <el-button type="text" @click="jumpInterfaceHome(scope.row)">{{ scope.row.CustName }}</el-button> </el-tag> </template> </el-table-column> 注意看结构:这里多了 template 标签,通过包裹可以来做一些事情,任你YY去行动;
重点注意 key
1.若不加key 那么你点击动态展示列的时候布局会乱,或者导致报错;
2.加了key之后ok解决;
备注:加 key 是百度来的,有篇文章加的是 :key=Math.random();
这样是有bug存在,设置动态列的时候,列表的表头跳闪厉害;
最后,大家若是有更好的方法,希望留下完全代码,方便阅读