resetfields踩坑收集
- 没有给form表单设置ref form表单设置ref
- 没有设置prop,prop设置的值需要与input绑定的值一样 设置prop
-
resetfileds是重置将form重置到初始值,而不是重置为空
问题描述:使用弹窗编辑表单后,点击关闭弹窗调用resetFields()方法重置表单初始值;然后打开新增表单,发现表单回显了上次编辑的值,也就是resetFields()重置表单失效
问题原因:编辑表单时,第一次打开dialog的时候因为要回显数据(一般是接口返回的数据),所以给表单绑定的model赋值了,这时候这个model的初始值就变成了你赋值的值(注意这个初始值==赋值的值),当关闭dialog调用resetFields的时候,会将model对应的每个值重置到初始值,此时的初始值就是你编辑时赋值的那个值,而不是在data里声明的初始值
解决方法:在赋值时使用nextTick,这样将赋值操作放到dom渲染结束
this.$nextTick(() => { // 这里开始赋值,例如this.form.xxx = xxx; })
网友评论