首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型‘EventTarget’..ts(2339)角上不存在“checked”属性

类型‘EventTarget’..ts(2339)角上不存在“checked”属性
EN

Stack Overflow用户
提问于 2021-04-06 08:31:22
回答 1查看 7.5K关注 0票数 8

问题与此相同:

TypeScript: Property 'checked' does not exist on type 'EventTarget & Element'. Why it doesn't exist?

但只适用于不同的框架。

我需要这件2+角服。目前我使用的是角9

代码语言:javascript
复制
public CheckBoxChange(event: Event) { 
    this.service.change(this.d!.id.toString(), event.target.checked).subscribe(res => {
        console.log(res
    }, err => {
        console.log(err)
    })
}

问题就在这里,event.target.checked

错误消息:

类型‘EventTarget’..ts(2339)中不存在

属性'checked‘

怎么解决这个问题?好的,我可以设置类型:任意,但这不是解决方案。

EN

回答 1

Stack Overflow用户

发布于 2021-04-06 08:43:33

Event是一个相当通用的类,EventTarget也是。在这个位置上,您正在访问event.target,TS编译器无法推断这个event.target确实是一个复选框,因此它假设它是一个通用的HTMLElement。如果要访问复选框(即HTMLInputElement )的属性,则必须自己指定类型。

代码语言:javascript
复制
public CheckBoxChange(event: Event) { 
    const ischecked = (<HTMLInputElement>event.target).checked
    this.service.change(this.d!.id.toString(), ischecked).subscribe(res => {
        console.log(res
    }, err => {
        console.log(err)
    })
}
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66965210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档