我想创建一个类型为Partial
的对象,其中键是“a”、“b”或“c”的某种组合。但它至少有一个)。如何在Typescript中强制执行此操作?以下是更多详细信息:
// I have this:
type Keys = 'a' | 'b' | 'c'
// What i want to compile:
let partial: Partial = {'a': true}
let anotherPartial: Partial = {'b': true, 'c': false}
// This requires every key:
type Partial = {
[key in Keys]: boolean;
}
// This throws Typescript errors, says keys must be strings:
interface Partial = {
[key: Keys]: boolean;
}
我在上面尝试过的两种方法(使用Map类型和接口)没有达到我想要的效果。有人能帮忙吗?
2条答案
按热度按时间8ulbf1ek1#
您可以使用
?
使密钥成为可选的,因此或者,您可以执行以下操作:
fdbelqdn2#
另一种方法是...