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

发布于 2022-09-13 00:46:36 字数 397 浏览 10 评论 0

    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() // 强制刷新也没用
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

—━☆沉默づ 2022-09-20 00:46:36

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

浅浅 2022-09-20 00:46:36

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

  1. vm.$set()
  2. deep watch
  3. hack 手段,在这行( this.$forceUpdate() // 强制刷新也没用),改成 array.sort()
  4. 升级到 vue3
只是一片海 2022-09-20 00:46:36

https://cn.vuejs.org/v2/guide...
看下vue官网对数组和对象的变化的监听或许对你有点启发

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文