问题与此相同:
TypeScript: Property 'checked' does not exist on type 'EventTarget & Element'. Why it doesn't exist?
但只适用于不同的框架。
我需要这件2+角服。目前我使用的是角9
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‘
怎么解决这个问题?好的,我可以设置类型:任意,但这不是解决方案。
发布于 2021-04-06 08:43:33
Event是一个相当通用的类,EventTarget也是。在这个位置上,您正在访问event.target,TS编译器无法推断这个event.target确实是一个复选框,因此它假设它是一个通用的HTMLElement。如果要访问复选框(即HTMLInputElement )的属性,则必须自己指定类型。
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)
})
}https://stackoverflow.com/questions/66965210
复制相似问题