(vue+element-ui)动态设置tabel列的显示与隐藏

2020-07-14 10:11:38 浏览数 (1)

不得不说,百度很强大,只要搜索饿了么怎么动态设置列会得到很多答案;

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存在,设置动态列的时候,列表的表头跳闪厉害;

最后,大家若是有更好的方法,希望留下完全代码,方便阅读

0 人点赞