- 此问题在此处已有答案**:
Define a list of optional keys for Typescript Record(6个答案)
17小时前关门了。
我想定义一个对象类型,其中属性名称是预定义的,但也是可选的。
我想创建下面更长语法的等价物,但是有没有一种方法可以让它动态地带有可选属性,这样我就可以轻松地添加/删除这些选项?
interface List {
one?: string;
two?: string;
three?: string;
}
我正在尝试找到一种方法来使下面的无效代码工作。
type options = 'one' | 'two' | 'three';
type List = Record<options, string>;
// Valid
const MyObjOne: List = {
one: 'Value 1',
two: 'Value 2',
three: 'Value 3',
}
// Invalid
const MyObjTwo: List = {
one: 'Value 1',
two: 'Value 2',
}
但TypeScript对MyObj
TSPlayground链接给出此错误Property 'three' is missing in type '{ one: string; two: string; }' but required in type 'List'.
1条答案
按热度按时间yks3o0rb1#
使用实用程序类型
Partial
: