vue实现删除(Vue 清除Form表单校验信息 清除表单验证上次提示信息)
导读:问题描述 在Vue项目中使用Form组件进行表单验证,再次打开该表单时,上次的验证提示信息依然存在,业务场景要求再次打开该表单时清除验证提示信息和绑定的数据。...
问题描述
在Vue项目中使用Form组件进行表单验证 ,再次打开该表单时 ,上次的验证提示信息依然存在 ,业务场景要求再次打开该表单时清除验证提示信息和绑定的数据 。
解决办法
在控制表单显隐的方法内加入以下代码即可实现:
1.使用Iview中的Form组件:清除表单的验证提示信息与字段值
resetFields() 方法:对整个表单进行重置 ,将所有字段值重置为空并移除校验结果 。
//form指的是绑定到Form组件上的属性ref this.$nextTick(()=>{ this.$refs.form.resetFields(); })Iview组件库中没有提供clearValidate()方法 ,不要和Element Ui混淆 。
2.使用Element Ui中的Form组件
2.1 只清除表单验证提示信息 ,不清除字段值clearValidate() 方法:移除表单项的校验结果 。传入待移除的表单项的 prop 属性或者 prop 组成的数组 ,如不传则移除整个表单的校验结果 。
//1.清除所有表单项的验证提示信息 this.$nextTick(()=>{ this.$refs.form.clearValidate(); }) //2.清除某一表单项的验证提示信息 ,如手机号 this.$nextTick(()=>{ this.$refs.form.clearValidate([phone]); })注:clearValidate()方法使用清除某一表单项的提示信息时 ,注意安装的Element Ui版本:Element Ui^2.4.3及后续版本才支持传入参数 。
2.2 清除表单验证提示信息和字段值resetFields() 方法:对整个表单进行重置,将所有字段值重置为初始值并移除校验结果 。
this.$nextTick(()=>{ this.$refs.form.resetFields(); })注意
想要清除信息的字段必须添加prop属性 。
prop :对应表单域 model 里的字段 <FormItem label="Name" prop="name"> <Input v-model="formValidate.name" placeholder="输入您的姓名"></Input> </FormItem>创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!