最近在开发项目时遇到了一个问题,就是在使用antdvue开发时,有一个select多选框在通过onchange清空其所有值后,再选择时,控制台能够打印出来选中的值,前台界面也能够显示选中的值,但是必填校验依旧是未选中的红框状态。
使用了this.
s
e
t
(
t
h
i
s
.
f
o
r
m
D
a
t
a
,
′
n
a
m
e
′
,
v
a
l
u
e
)
和
t
h
i
s
.
set(this.formData, 'name', value)和this.
set(this.formData,′name′,value)和this.forceUpdate()依旧无法让红框消失。
然而在change事件函数中使用JSON.parse(JSON.stringify(this.formData))后便能够成功更新其状态,个中缘由暂不知晓,如果有哪位大神知道,敬请指教,谢谢!
cityChange (key, option) {
this.formData.code = undefined
this.formData.name= undefined
this.formData = JSON.parse(JSON.stringify(this.formData)) // 有效
this.$forceUpdate() // 无效
this.$set(this.formData, 'code', undefined) // 无效
}