在项目的开发过程中,我发现使用this.$set(对象,key, value) 也没有修改子组件对象的值,后面才发现vue对象存在深层复制的问题。
遇到这种情况怎么办?
在子组件中监听父组件传递的对象的变化,深层复制

  props: {
    // 必传的四个参数,列的数据,表格数据,搜索数据,总数
    setTableTotalData: {
      type: Object,
      required: true
    }
  },
    watch: {
    setTableTotalData: {
      handler: function (val, oldval) {
        this.ColumnsData = val.columnsData
        this.tableData = val.tableData
        this.search = val.search
        this.total = val.total
      },
      deep: true
    }
  },

对象的数据就可以彻底改变了。

Logo

前往低代码交流专区

更多推荐