element table中的内嵌组件不能自动更新

2020-06-24  本文已影响0人  晨曦_c2fd

1、如果没有将table二次封装:

声明一个key属性值为随机数即可

<el-table
      :data="data"
      :key="Math.random()" <!--增加key属性即可-->
      ref="classTimeTable"
></el-table>

2、已将table二次封装

如果你已经将table二次封装,而且还将key赋值为随机数,vue会报错,提示你可能循环引用,这时则需要在更新数据前将key赋为一个随机数即可

<el-table
      :data="classTimeList"
      :key="randomString"
      ref="classTimeTable"
></el-table>

*******
export default {
  name: 'classtableCon',
  data() {
    return {
      randomString: ""
    };
  }

*******

this.$request({
    method: "get",
        url: "/xxx",
      }).then(res => {
        if (res.code == 200) {
          this.randomString = new Date().toString()
          this.classTimeList= res.data
        }
      });

总结:

推荐使用最后一种方式,虽然多了个变量但是没有任何问题。

上一篇 下一篇

猜你喜欢

热点阅读