【问题标题】:Computed Property not rerendering计算属性不重新渲染
【发布时间】:2021-10-04 22:01:53
【问题描述】:

当一个组件数据值(它是带有对象的数组)发生变化时,计算属性不受影响。

在下面的示例中,我有一个填充了一些数据的表(它是具有不同标题的不同状态的任务)。如果您单击一个任务并单击“更改任务信息”按钮,它会将当前选择的任务更改为

{
    Status = QA Review
    Title = TEST
}

但是,如果您注释 99,100 行并取消注释 96 行,如果您尝试单击按钮并选择了不同的任务,则任务将在组件的“任务”变量中更新,但从未重新呈现通过计算的道具。

有什么想法吗?

SB https://codesandbox.io/s/vue-table-test-enviroment-bx1sd?file=/src/components/HelloWorld.vue

【问题讨论】:

    标签: vue.js vue-component computed-properties


    【解决方案1】:

    如果您按索引替换数组项,Vue 无法检测到更改(请参阅Reactivity in Depth)。

    解决方法很简单:

    this.$set(this.tasks, indexOfUpdatedTask, test);
    

    【讨论】:

      猜你喜欢
      • 2020-12-16
      • 2021-05-10
      • 2023-04-07
      • 1970-01-01
      • 2018-11-12
      • 2017-05-29
      • 2017-01-23
      • 2019-09-15
      • 1970-01-01
      相关资源
      最近更新 更多