(change)="onChecked($event.target?.checked)">
А не проще це логику делать непосредственно в функции?
public onChecked(event: Event): void { (event.target as HTMLInputElement).checked }
По умолчанию, TS не вкурсе что там за target элемент в интерфейсе Event. И он ставит ему тип EventTarget. Чтобы получить актуальные подсказки, нужно уточнить что твой target это HTMLInputElement и тогда ты будешь видеть все подсказки которые есть в input элементе
Можно так, чтобы as не использовать public onChecked({ target }: { target: HTMLInputElement }): void { target.checked; }
Я понимаю. Я бы предпочел "as" вместо деструктуризации)
Тогда так. Красотища public onChecked(event: Event & { target: HTMLInputElement }): void { event.target.checked = false; }
Если уж говорить о красоте, то лучше сделать так: public onChecked(inputElement: HTMLInputElement): void { inputElement.checked = false; }
Обсуждают сегодня