Vue.js 表单重置vee validate 3后出错

Vue.js 表单重置vee validate 3后出错,vue.js,vee-validate,Vue.js,Vee Validate,我使用的是vee validate 3.1.1和vue 2.5.17 成功提交表单后,我将重置输入 this.name = '' 但在重置输入后显示验证错误消息,如下图所示 vee validate 2中也存在同样的问题* 我用这个密码解决了这个问题 this.$nextTick(() => { this.errors.clear(); }) 这需要将表单输入包装在一个ValidationObserver中,属性为ref=“observer”。否则,您可能希望在同一回调中

我使用的是vee validate 3.1.1和vue 2.5.17

成功提交表单后,我将重置输入

this.name = ''
但在重置输入后显示验证错误消息,如下图所示

vee validate 2中也存在同样的问题* 我用这个密码解决了这个问题

this.$nextTick(() => {
    this.errors.clear();
})  
这需要将表单输入包装在一个ValidationObserver中,属性为
ref=“observer”
。否则,您可能希望在同一回调中调用所使用的每个ValidationProvider的
reset
方法


有关vee validate的示例,请参见。“重置表单”涵盖了您正在做的事情,下一个示例显示了我所说的(“使用$refs进行编程访问”)。

这是VeeValidate的一个bug,由于某些原因,它没有得到处理,但使用
async
方法首先重置变量,然后重置观察者,似乎能让它起作用

所以你可以坚持做这件事,直到有一天你能把它修好

methods: {
  async resetForm() {
    this.name = '';
    this.$refs.observer.reset();
  }
}

在Vee validate 3之后,建议在请求动画帧后重置表单

你可以这样做:

methods: {
    async reset() {
       this.name = '';
       requestAnimationFrame(() => {
          this.$refs.observer.reset();
       );
    }
}

您好,谢谢您的回复。如果我先重置表单值,它对我不起作用。但是,在我重置validationObserver之后,表单值确实对meI起作用,但与您的问题非常类似,但此解决方案对我不起作用
methods: {
    async reset() {
       this.name = '';
       requestAnimationFrame(() => {
          this.$refs.observer.reset();
       );
    }
}