在使用element-ui修改某一行数据的时候, 希望前端不需要调用接口直接来更新数据.
存在的问题:
在使用 element-UI 中el-table时,更新TABLEDATA ROW的某一个属性时,没有更新视图.
原因:受 ES5 的限制,Vue.js 不能检测到对象属性的添加或删除。因为 Vue.js 在初始化实例时将属性转为 getter/setter,所以属性必须在 data 对象上才能让 Vue.js 转换它,才能让它是响应的
解决方法:
this.$set(tableData,index,row)
代码示例:
使用axios来更新某行数据, 拿到更新后的返回值之后动态更新table中的数据
updateSprintApi(this.sprintId, this.sprintForm, this.section).then(response => {
console.log(response.data)
this.$set(this.tableData, this.sprintDataIndex, response.data)
})