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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章