我想在注销方法中清除vee validate中的所有错误,下面的代码似乎不起作用,表单中的错误仍在显示,为什么?

sign_out: function (e) {
    console.log('sign me out')
    var self = this
    firebase.auth().signOut().then(function () {

      console.log('sign out!')         
      self.info.email = ''
      self.errors.clear()  // clear errors object of vee-validate

    }, function (error) {

      console.log('sign out failed')

    })
  },

下面是一个JSFIDLE,它在代码中描述了这个问题,当您键入"123"时,会显示一条警告,然后当您单击"清除"时,该字段会设置为"",并显示错误.clear(),希望表单中的警告会消失,但事实并非如此:

https://jsfiddle.net/8j3z82bv/1/

推荐答案

我想出了另一个可能有用的解决方案.在您的输入中,我们将再添加listener个,如下所示:

<input type="email" name="email" v-model="info.email" v-validate="'required|email'" @input="validate">

然后将添加调用vee validate函数的验证函数,这样您的vue实例将如下所示:

var app = new Vue({
    el: '#app',
    data: {
        info: { email: '' }
    },

    methods: {

        onSignin: function (e) { },
        clear_proc: function (e) {
            delete this.info.email

            this.errors.clear()
        },
        validate: function () {
          this.$validator.validateAll();
        }
    }
})

Vue.js相关问答推荐

如何用其他组件编译Vue模板?

v-model 修饰符返回空

为什么 Pinia/Vuex 比使用服务类的classic 方法更受欢迎?

vuetify/mdi 不显示图标

如何使用 async/await 在 vue js 中添加标头

Vuetify/Nuxt 生产环境组件在开发环境中无法正常工作

Vue 脚本标签中更漂亮的 destruct 功能

用 axios 搜索:新字符时取消之前的请求

有条件地在 Vue 中添加一个 CSS 类

vue js 组件中的 this.$route 只返回 undefined

Vue 和 Bootstrap Vue - 动态使用插槽

在 vue-router 中带有路由的 Vuejs2 模态

使用 Vue.js 的用户可切换自定义主题

无法访问数据对象的嵌套属性

Vue3在按钮单击时以编程方式创建组件实例

在 VueJS 中观察元素的高度

如何使用 Vue Test utils 测试输入是否聚焦?

Vue Cli 3:定义的输出路径

在 vue js 中的何处以及如何存储 API 端点?

Vue.js 显示空格(换行符)