我在angular2应用程序中有一个复选框。我捕获了点击事件,并检查了checked
属性值。
但是,在编译期间,无法识别event.target.checked
:
error TS2339: Property 'checked' does not exist on type 'EventTarget'.
基于此post,我应该告知打字稿该类型。
但是我的输入是什么类型?我没有发现与代码完成中的复选框相关的任何内容,并且HTMLInputElement
引发了相同的错误。
HTML输入
<input id="ID" formControlName="key" type="checkbox"
aria-label="Checkbox for following text input">
打字稿
$("#id").on('click', (event:Event) => {
if (<WHAT SHOULD BE THERE ?>(event.target).checked) {
$("#id").prop('checked', false);
} else {
$("#id").prop('checked', true);
}
}
答案 0 :(得分:1)
let test: HTMLInputElement;
console.log(test.checked);
工作正常,在我的React代码库中没有错误。检查您的打字稿没有崩溃!
答案 1 :(得分:0)
但是我的输入是什么类型?
如果不确定复选框事件的类型,则可以将其用作 any ,它可以接受任何格式的任何数据。
在上述情况下,应该使用event.checked而不是event.target.check,并且类型定义(event:Event)=> {}应该替换为(event:any)=> {}