如何在打字稿中使用 reset()、.value 和其他 DOM 键?

How to use reset(), .value, and other DOM keys in typescript?

所以我使用打字稿来实现基本功能,但是由于以下错误而拒绝编译

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 方法,或者至少让编译器忽略这个错误?

对于 document.getElementById(id),TypeScript 无法确定元素 returned 将属于 HTMLInputElement 类型。如果你想通知 typescript 你的 html 将包含什么,你将不得不使用 an assertion(因此 dom 将 return):

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