学习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没有加引号。加引号是把表单名作为字符串参数传给响应函数,不加引号的话就变成变量了。
加引号后问题解决。
相关文章
- 01-15Vue使用Typescript开发编译时提示“ERROR in ./src/main.ts Module build failed: TypeError: Cannot read property 'afterCompile' of undefined”的解决方法
- 01-15Error in v-on handler: “TypeError: Cannot read property ‘validate‘ of undefined“ 的错误原因
- 01-15vue报错Error in v-on handler: “TypeError: Cannot read property ‘resetFields‘ of undefined“
- 01-15解决vue2.0路由 TypeError: Cannot read property 'matched' of undefined 的错误问题
- 01-15[Vue warn]: Error in render: "TypeError: Cannot read property '0' of undefined、vuejs路由使用的问题Error in render function