【发布时间】:2022-01-18 10:54:55
【问题描述】:
我有一个这样的界面。
interface ITest {
key1?: string;
key2?: 'apple' | 'orange' | 'cherry' | 'grape';
}
问题
如何在扩展 ITest 的同时从 key2 联合类型中排除特定的字符串文字值?
我知道我可以使用Exclude 来完全删除key2,但我怎么能保留key2 但从其联合类型中排除特定值?
我尝试过类似但没有运气的东西。不确定这是否仅适用于实用程序类而不创建单独的 Fruit 类型,例如并在其上使用 Exclude。
Exclude<Pick<ITest, 'key2'>, 'apple' | 'grape'>
【问题讨论】:
标签: typescript types interface