如果使用jQuery设置了输入/文本框,则VeeValidate不会更新

问题描述

转到此处(Chrome对于该示例似乎效果最好): https://jsfiddle.net/gongzza/m67d8f4x/2/

在输入中输入a@b.com。注意错误如何消失。现在清除输入。

在控制台中,通过以下方式以编程方式设置电子邮件的值:

$('[name=email]').value = 'a@b.com'

请注意输入的更改方式,但不会刷新验证。

解决方法

我的建议是,您应该使用Vue来操纵这些东西的值。我能想象您要在此处使用jQuery的唯一原因是因为您是从Vue应用程序外部进行的。鉴于此,您最好这样做:

$('#app').__vue__.email = 'a@b.com'

这样,Vue将注意到更改并进行自己的事件处理。我不确定是否有一种更“正式”的方式来访问Vue数据,但这是我以前做过的方式。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...