我想将接口的属性类型用作泛型,但是我不确定是否支持我想做的事情。我将用代码进行解释:
通常我们可以这样做:
enum Sections {
users = 'users',projects = 'projects'
}
interface SectionEles {
[Section.users] : {...};
[Section.projects]: {...};
}
interface SezViewSettings<S extends Sections> = {
section: S;
where: Array<keyof SectionEles[S]>;
}
这很好,但是我想避免将SezViewSettings
设为generic
。我希望从分配给属性S
的值中减去section
,像这样:
interface SezViewSettings = {
section: S extends Sections;
where: Array<keyof SectionEles[S]>;
}
可以做到吗?