用 element-ui的table 组件时,table绑定的数据发生改变,页面不发生变化。

552 阅读1分钟

问题:

newData是修改完后的数据,赋值给对应的表格数据

this.tableData[rowIndex] = newData

解决办法

1.用 Vue.set 来代替直接赋值

this.$set(this.tableData, rowIndex, newData)

2.浅拷贝换成深拷贝

 this.tableData[rowIndex] = newData
 this.tableData = [...this.tableData]

原因:

Vue2.0中的双向绑定用到的Object.defineProperty() 无法监控到数组下标的变化。Vue3.0版本用proxy就解决了这样的问题。