Typescript how to tell that element is checkbox, so element.checked is not red underlined

前端 未结 2 1112
旧时难觅i
旧时难觅i 2020-12-20 16:50

I am checking for input type of some element, fe checkbox in TS. Now I am sure that I have element that is checkbox, so this element should have property checked. But if I s

2条回答
  •  鱼传尺愫
    2020-12-20 17:37

    The if statement is not necessary as others have already stated. However, there are several ways how to make compiler happy:

    // 1st (best variant in my opinion)
    let e1: HTMLInputElement; // type of variable
    e1.checked = true;
    
    // 2nd (sometimes a good option too)    
    let e2 = document.getElementById('myInput');
    (e2).checked = true; // "hint" the type to TypeScript
    
    // 3rd (a hack that may come handy sometimes)
    let e3 = document.getElementById('myInput');
    e2['checked'] = true;
    

提交回复
热议问题