Flo*_*ris 22 javascript typescript reactjs
我想在Typescript/Reactjs中的HTML元素上触发click事件.
let element: Element = document.getElementsByClassName('btn')[0];
element.click();
Run Code Online (Sandbox Code Playgroud)
上面的代码确实有效.但是我收到了一个Typescript错误:
ERROR in [at-loader] ./src/App.tsx:124:17
TS2339: Property 'click' does not exist on type 'Element'.
Run Code Online (Sandbox Code Playgroud)
那么这样做的正确方法是什么?
Sur*_*yan 53
使用HTMLElement类型而不是Element.HTMLElement继承自Element.在文档中,您可以找到该click函数在HTMLElement中定义.
通过将您的元素转换为HTMLElement
let element: HTMLElement = document.getElementsByClassName('btn')[0] as HTMLElement;
element.click();
Run Code Online (Sandbox Code Playgroud)
小智 18
document
.querySelectorAll<HTMLElement>('.ant-table-row-expand-icon')
.forEach(node => node.click())
Run Code Online (Sandbox Code Playgroud)
fo_*_*fo_ 10
正确(类型安全)方式是:
if (element instanceof HTMLElement) {
element.click();
}
Run Code Online (Sandbox Code Playgroud)
除非您真的需要它们,否则您不应该使用强制转换(如其他答案所建议的那样)。
| 归档时间: |
|
| 查看次数: |
25514 次 |
| 最近记录: |