0

我尝试使用 vuelidate 使用 setTimeout 方法模拟异步验证,但是当我的异步方法返回 true 值时,错误消息会弹出一段时间然后隐藏。

有代码沙箱:https ://codesandbox.io/s/angry-montalcini-suec4?fontsize=14&hidenavigation=1&theme=dark

4

1 回答 1

1

刚刚想通了。无论出于何种原因,当异步方法正在做它的事情时,自定义验证属性(在我的情况下为“唯一”)在瞬间被设置为 false。我还注意到在这一瞬间,$pending 在返回 false 之前也被设置为 true。所以 - 通过在你的 if 语句中结合两者,你应该能够防止你的错误消息在那一瞬间弹出。就像是:

v-if="!$v.email.unique && !$v.email.$pending"
于 2020-09-12T10:42:18.790 回答