【发布时间】:2019-06-08 17:36:40
【问题描述】:
我有这样的类型,我在扩展接口时覆盖单一类型:
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
interface HTMLEvent<T> extends Omit<Event, 'target'> {
target: T;
}
现在我想创建一个 EventType 类型,它将接受事件类型,例如 MouseEvent 和目标类型。
我试过了:
interface EventType<E, T> extends Omit<E, 'target'> {
target: T;
}
const e: EventType<MouseEvent, HTMLButtonElement>;
但出现错误:
接口只能扩展对象类型或对象的交集 具有静态已知成员的类型。
我认为我需要的是一个可以创建类型的函数。
接口EventType 可以在 TypeScript 中使用吗?是否可以拥有一种泛型类型而无需为每种事件类型指定泛型接口。
【问题讨论】:
标签: typescript generics interface