使用Object.assign处理编辑回显数据,导致表单验证报错

367 阅读1分钟

使用Object.assign处理编辑回显数据,导致表单验证报错

问题

处理编辑页面的回显时,将表单数据对象详情接口返回的数据对象合并,重新赋值到表单数据对象。

this.formData = Object.assign(this.formData, detailData)

导致 antd vue 的表单验证报错,在表单中有数据的情况下,仍然报错要求输入数据。

原因

查询资料后:原来是object.assgin的赋值方法没有触发到set函数,导致vue的双向绑定失效, 用以下方法可以解决,但原理尚不清楚,占个位,以后再补充。

this.formData = Object.assign(
  Object.assign({}, this.formData),
  detailData
)