Error in v-on handler: “TypeError: Cannot read property ‘validate‘ of undefined“ 的错误原因
作者:互联网
学习ElementUI的过程中,写完的登陆框点击“登录”后没有后续动作,报错如下:
开始没搞明白为什么报错、哪里出了错。在网上找了一些解决办法,一般是说要把this.
r
e
f
s
[
f
o
r
m
N
a
m
e
]
.
v
a
l
i
d
a
t
e
(
(
v
a
l
i
d
)
.
.
.
改
成
t
h
i
s
.
refs[formName].validate((valid) ...改成this.
refs[formName].validate((valid)...改成this.refs.formName.validate((valid) …的写法,并保证this.$refs.loginForm.validate() 中的loginForm与ref="loginForm"名字要相同。这样确实可以消除错误,但是实际上是不传参数,把formname写死了,感觉并没有找到问题的根源。
自己又仔细查了半天,最后发现是控件里@click="submitForm(‘loginForm’)"这一句,loginForm没有加引号。加引号是把表单名作为字符串参数传给响应函数,不加引号的话就变成变量了。
加引号后问题解决。
标签:TypeError,undefined,read,refs,valid,validate,loginForm,引号,formName 来源: https://blog.csdn.net/weixin_49004340/article/details/110393431