vue el-table不刷新数据刷新表格,达到控制显示隐藏列的目的?

在el-table外面给了两个按钮

        <div class="th-tab">
            <el-button @click="showToday()">当日</el-button>
            <el-button @click="showTotal()">累计</el-button>
        </div>

对应列上加了v-if,这个列下面还有一些合并的列

<el-table-column label="当日" v-if="isShowToday" :key="isShowToday">
  <el-table-column></el-table-column>......<el-table-column></el-table-column>
</el-table-column>
<el-table-column label="累计" v-if="!isShowToday" :key="!isShowToday">
  <el-table-column></el-table-column>......<el-table-column></el-table-column>
</el-table-column>

js里给这两个按钮的方法,用isShowToday变量来控制,方法是能进去的

var isShowToday;
export default {
  ......
  methods: {
     showToday(){
          this.isShowToday = true;
     },
     showTotal(){
           this.isShowToday = false;
     }
  },
  created(){
      this.isShowToday = true;
  }
}

但就是el-table不刷新。

网上找了很多方法比如给el-table-column加key(就如我代码里的),还有加:key=Math.random()之类的,但是因为我的数据其实是不变的,所以触发不了它的刷新,点击对应的显示隐藏按钮没用。

该怎么实现点击“当日”按钮就隐藏“累计”下面的数据?

isShowToday在data有没有定义

这个是vue的bug,你的key相同了(你的那key值永远都会变成true),以为是同一个组件,vue会复用,解决
当日的key修改为 today
累计的key修改为 accumulative