工作中一直未注意,在某个列表中有编辑按钮,在按钮事件中:
handleEdit (record) {
this.visible = true
this.mdl = record // 注意这里
},
弹框中:
created() {
// 防止表单未注册
fields.forEach((v) => this.form.getFieldDecorator(v));
this.form.setFieldsValue({ id: -1 });
// 当 model 发生改变时,为表单设置值
this.$watch("model", () => {
if (this.model != null) {
this.getNewsInfo()
} else {
...
}
});
},
发现第一次点击某条数据,没有问题,连续点击某一条数据,则信息不再加载,查找原来是this.model连续点击时,同时指向record,未发生改变,所以watch不到变化,修改很简单,将this.model的指向改变就可以了。
handleEdit (record) {
this.visible = true
this.mdl = { ...record } // 注意这里
},