解决在注册的时点击两次才能成功的bug

按照教程方法来写会出现要点击两次才会注册成功

 <input v-validator:input.required= "{ regex: /^[a-zA-Z]+\w*\s?\w*$/, error: '用户名要求以字母开头的单词字符' }" ... >

以这个为例 首先会先执行我们之前定义的 validator 指令 但是我们写的 register()方法是异步执行导致会出现target.canSubmitundefined

 register(e) {
               this.$nextTick(() => {
                    const target = e.target.type === 'submit' ? e.target : e.target.parentElement
                    console.log(target.canSubmit);
                        ...
                    })
            },

所以目前我解决方案就是做利用setTimeout() 方法来解决
代码如下

register(e) {
         setTimeout(()=>{
                    this.$nextTick(() => {
                        const target = e.target.type === 'submit' ? e.target : e.target.parentElement
                        if (target.canSubmit) {
                            this.submit()
                        }
                    })
                },100)
            },

大佬有什么更加好的方法可以写出来一起学习!

讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!