有可能有这样的事情吗?
export abstract class FilterBoxElement {
abstract getEntities: any;
}
export interface FilterBoxControlSuggestions extends FilterBoxElement {
getEntities: // some implementation with different parameters
}
export interface FilterBoxControlDropDown extends FilterBoxElement {
getEntities: // some implementation with different parameters
}
export interface FilterBoxDataProps {
controlElement: FilterBoxElement // FilterBoxControlSuggestions or FilterBoxControlDropDown
}
我要那个controlElement
必须是一个FilterBoxControlSuggestions
or a FilterBoxControlDropDown
。但现在我可以把一切都放进去。有办法实现这一点吗?
您可以使用联合类型来做到这一点:
export interface FilterBoxDataProps {
controlElement: FilterBoxControlSuggestions | FilterBoxControlDropDown
}
或者如果您想要 FilterBoxElement 的所有子类,则使用泛型:
export interface FilterBoxDataProps<T extends FilterBoxElement> {
controlElement: T
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)