问答 / 831 / 5 / 创建于 5年前
register的nextTick并不能实现预期的效果。nextTick在validator.js的submitHandler之前执行。用的是Vue2.6.3
register
nextTick
validator.js
submitHandler
=。=兄弟我好像遇到跟你一样的问题了,已经解决了么
@流浪剑客 我在 问答:注册页面跳转问题 有比较详细的解答了。两个问题本质是一样的。 nextTick 的机制在 vue 的实现有出现过反复,从目前来看,现在这里用到的方法在最新版本的 vue 中都不会支持了。可能这里的验证机制要重新考虑才行。
参考了你们的建议,好像可以,修改如下 (我用的vue3.37 最新的vue-cli,后续继续看是否还有bug)
// register(e) { // this.$nextTick(() => { // const target = e.target.type === 'submit' ? e.target : e.target.parentElement // if (target.canSubmit) { // this.submit() // } // }) // }, register(e) { this.$nextTick(() => { setTimeout(() => { const target = e.target.type === "submit" ? e.target : e.target.parentElement; if (target.canSubmit) { this.submit(); } },500); }); },
@流浪剑客 与nextick无关,改一下模板就好了,比如这样,其成因参阅 博客:注册登录要点击两次终极解决方案
nextick
<span @click="register"> <button type="submit" class="btn btn-lg btn-success btn-block"> <i class="fa fa-btn fa-sign-in"></i>注册 </button> </span>
@pardon110 正解
我要举报该,理由是:
=。=兄弟我好像遇到跟你一样的问题了,已经解决了么
@流浪剑客 我在 问答:注册页面跳转问题 有比较详细的解答了。两个问题本质是一样的。 nextTick 的机制在 vue 的实现有出现过反复,从目前来看,现在这里用到的方法在最新版本的 vue 中都不会支持了。可能这里的验证机制要重新考虑才行。
参考了你们的建议,好像可以,修改如下 (我用的vue3.37 最新的vue-cli,后续继续看是否还有bug)
@流浪剑客 与
nextick
无关,改一下模板就好了,比如这样,其成因参阅 博客:注册登录要点击两次终极解决方案@pardon110 正解