计算属性不重新渲染
Posted
技术标签:
【中文标题】计算属性不重新渲染【英文标题】: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
【问题讨论】:
【参考方案1】:如果您按索引替换数组项,Vue 无法检测到更改(请参阅Reactivity in Depth)。
解决方法很简单:
this.$set(this.tasks, indexOfUpdatedTask, test);
【讨论】:
以上是关于计算属性不重新渲染的主要内容,如果未能解决你的问题,请参考以下文章