Vue+TypeScript开发中TS不识别this.$refs的问题

用iview框架开发后管系统,需要用到form表单功能,最后提交表单代码是:

this.$refs.form.validate(......)

代码报错

Property 'validate' does not exist on type 'Vue | Element | Vue[] | Element[]'.
Property 'validate' does not exist on type 'Vue'

既然TS不知道this.r e f s 是什么,那么我们需要给它加上类型断言,告诉它是什么,也就是需要把 t h i s . refs是什么,那么我们需要给它加上类型断言,告诉它是什么,也就是需要把 this.refs是什么,那么我们需要给它加上类型断言,告诉它是什么,也就是需要把this.refs[formName] 显式标注为你的那个组件类型;
我项目中的解决方案是:

 ;(this.$refs['form'] as HTMLFormElement).validate(...)

版权声明:本文为weixin_44834981原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。