当前位置: 首页 > Web前端 > vue.js

Vue和element-ui的resetFields()方法重置表单无效问题及解决方法

时间:2023-04-01 01:44:42 vue.js

问题:使用this.$ref['form'].resetFields()无法重置表单项原因:1.没有添加到formref属性2、表单项el-form-item没有添加prop属性,prop属性需要和绑定的属性保持一致输入框3.另一个经常出现这个问题的场景是,在使用vuex时,复用了新建表单和编辑表单,此时添加了上面的属性和方法,却无法达到清空表单的效果。说到这里,我们再来看看element-ui的官方文档。重点:resetField()方法并不是将表单重置为空,而是重置为初始值。所以当我们打开新的表单时,表单项绑定的属性值为空。提交表单后,表单项绑定的值不为空。这时候如果你打开新的窗体,就会出现上次的值。这时候resetField()方法不能清空表单,因为在这个操作中,属性的初始值不为空。解决方法:表单提交成功后重新设置绑定值//重置表单item属性resetForm(){  return{    remark:'',    name:''  }}//提交表单成功后,重新赋值属性submit(){  //...调用成功  letself=this  letquery=self.resetForm()  self。updateForm({//该方法为自定义vuexaction方法,可以根据实际应用场景定义重置表单方法    form:query  )}  self.$ref['form'].resetFields()//此时调用resetFields()方法清除表单验证错误}resetFields方法是在属性重置后执行的,因为属性重置的时候为空,可能会触发表单规则的校验。这时候执行resetFields会去掉校验结果————————————————————————————————————————————作者:CSDN博主《我只想做好人》

最新推荐
猜你喜欢