vue 动态生成的数据不响应视图,请问怎么解决呢,谢谢

    handleOk (val) {
      const len = this.dataTable.length
      val.forEach((item, index) => {
        item.key = (len + index) + ''
        item.editable = false
        this.dataTable.push(item)
      })
      console.log(this.dataTable)
      this.$refs.tableChild.data = this.dataTable //这里赋的值
      this.visible = false
      this.$forceUpdate() // 强制刷新也没用
    }
阅读 1.7k
3 个回答

先确定this.dataTable的值没问题,再试试this.$set(this.$refs.tableChild, 'data', this.dataTable)

这是 vue3 以前考虑到性能没有深度监听响应式属性,你可以通过以下方式解决:

  1. vm.$set()
  2. deep watch
  3. hack 手段,在这行( this.$forceUpdate() // 强制刷新也没用),改成 array.sort()
  4. 升级到 vue3
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题