Mad*_*dhu 1 javascript dom angularjs typescript
我正在尝试重置HTML表单,以便使用清除输入字段中的所有值。
document.getElementById('myForm').reset();
Run Code Online (Sandbox Code Playgroud)
但是我可以在打字稿中使用它,这给了我一个错误,说 document.getElementById('myForm') may be null
我该如何解决这个问题?
如果您使用strictNullChecks选项(或strict包含strictNullChecks),Typescript将强制您检查该值是否不为null 。您可以执行测试,也可以使用非null断言(!)。另外,您将需要使用类型断言来断言html元素是一个HTMLFormElementas,因为默认情况下它只是一个HtmlElement并且reset仅存在HTMLFormElement
只是一个断言断言:
(document.getElementById('myForm') as HTMLFormElement).reset();
Run Code Online (Sandbox Code Playgroud)
带有支票的断言(推荐):
let form = document.getElementById('myForm')
if(form) (form as HTMLFormElement).reset();
Run Code Online (Sandbox Code Playgroud)
不是null断言(如果您只想访问HtmlElement成员):
document.getElementById('myForm')!.click()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3135 次 |
| 最近记录: |