element动态添加表头的正确姿势,三步完成动态表头

1. 第一步循环 el-table-column

<el-table-column
  v-if="item.show"
  v-for="(item, index) in tableColumn"
  :key="index"
  :label="item.name"
  :prop="item.value"
  align="center"
  show-overflow-tooltip
  sortable="custom"
/>

// this.state.tableColumn:[{name: '客户名', value: 'cusName', show: true}, {name:'年龄', value: 'age', show: true}, {name:'手机号', value: 'phone', show: false}]

2. 第二步  点击按钮动态添加一个(手机号)表头

// 动态表头保存
handleSaveSetTable() {
  this.$set(this.tableColumn , 2, { name:'手机号', value: 'phone', show: true })
  this.status= !this.status
} // 改变this.status来触发重新做diff运算渲染dom,这样解决了一些固定表头可能出现错乱问题

3.第三步,在表格最外层容器添加key

 

posted @ 2019-10-11 16:47  大耳朵小虎  阅读(6063)  评论(2编辑  收藏  举报