计算 属性 未重新渲染

Computed Property not rerendering

当组件数据值(它是 objects 的数组)更改时,计算的 属性 不受影响。

在下面的示例中,我有一个 table 填充了一些数据(它是具有不同状态和标题的任务)。如果您单击一个任务并单击按钮 'CHANGE TASK INFO',它将把当前选定的任务更改为

{
    Status = QA Review
    Title = TEST
}

但是,如果您注释 99,100 行并取消注释 96 行,那么如果您尝试单击选择了不同任务的按钮,任务将在 'tasks' 变量中更新组件,但从未被计算的道具重新渲染。

有什么想法吗?

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

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

解决方法很简单:

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