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

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

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

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

    原文作者:lu_kuankuan
    原文地址: https://blog.csdn.net/lu_kuankuan/article/details/82222372
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞