el-table相关
问题描述
当value为1时,el-table按照showColumn1显示;为2时,按照showColumn2显示;为3时,按照showColumumn3显示.
如何在修改value的值时,可以使表格根据showColumn显示不同的列?
问题出现的环境背景及自己尝试过哪些方法
使用如下方法显示时,只会改变showColumn的值,表格显示的列不会变化;尝试过watch也没有用.
相关代码
粘贴代码文本(请勿用截图)
<el-table ref="csTable"
:tableDataUrl="tableDataUrl"
:isShowEditBtn="false"
:showColumn="value == '1' ? showColumn1 : value == '2' ? showColumn2 : showColumn3"
:tableColumn="tableColumn"
:highlight-current-row="true"
border
stripe
size="medium"
>
data() {
return {
showColumn1: ['a','b','c'],
showColumn2: ['a','b','c'],
showColumn3: ['a','b','c']
}
}
回答:
可以使用computed声明一个变量,比如showColumn,在showColumn根据value计算showColumn的值(推荐)
:showColumn="showColumn"computed: {
showColumn(){
return this.value == '1' ? this.showColumn1 : this.value == '2' ? this.showColumn2 : this.showColumn3
}
}
也可以使用watch,监听value的值,更新showColumn
data(){ return {
showColumn: [],
showColumn1: [],
...
}
}
watch: {
value(val){
this.showColumn = val == '1' ? this.showColumn1 : val == '2' ? this.showColumn2 : this.showColumn3
}
}
以上是 el-table相关 的全部内容, 来源链接: utcz.com/p/935395.html