Как использовать reset (), .value и другие ключи DOM в машинописи? - PullRequest
0 голосов
/ 02 апреля 2019

Так что я использую машинопись для базовой функциональности, однако она отказывается от компиляции из-за следующей ошибки

src/app.ts:46:38 - error TS2339: Property 'value' does not exist on type 'HTMLElement'.

46   return document.getElementById(id).value

У меня есть es2017 в качестве цели, поэтому я прочитал, что он включает в себя библиотеки dom, но я все еще не могу заставить его работать.

Есть ли способ использовать .value, reset () и другие методы dom или, по крайней мере, заставить компилятор игнорировать эту ошибку?

1 Ответ

2 голосов
/ 02 апреля 2019

Для document.getElementById(id) TypeScript не может точно знать, что возвращаемый элемент будет иметь тип HTMLInputElement. Вам нужно будет использовать утверждение , если вы хотите сообщить машинописи о том, что будет содержаться в вашем html (и, следовательно, dom вернется):

return (document.getElementById(id) as HTMLInputElement).value
...