我想为 HTMLElementTagNameMap 中的所有接口添加链接功能。由于它们有几十个,并且所有元素都是HTMLElement
或扩展它,我认为应该有一种方法可以做这样的事情:
interface HTMLElement {
doSomething<K extends keyof HTMLElementTagNameMap>(anArgument: any): HTMLElementTagNameMap[K]
}
这当然行不通,因为HTMLElement
现在扩展的每个接口都包含一个doSomething
预期返回任何HTMLElementTagNameMap
值的方法。相反,我想HTMLTableElement.doSomething
返回一个类型的对象HTMLTableElement
,HTMLDivElement.doSomething
返回一个类型的对象HTMLDivElement
等等。
这样的概括是可能的还是我需要为每个接口“复制”它?
如果可能的话,我该怎么做?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句