如何使用部分预定义的可用密钥创建类型?
我做了类似的事情:export type MyKeys = 'aa' | 'bb' | 'cc';
export type MyType = {
[k in MyKeys]: any;
};
并使用它:
let mySpecialObj: MyType = {
aa: 'key',
// bb: 'key', <-- without this for example
cc: 'key'
}
(其他问题: 正如我看到here,这个问题不一样,因为我的意思是带有迭代器键声明的类型:[k in MyKeys]:any; )
答案 0 :(得分:1)
您可以将所有字段标记为可选字段:
export type MyKeys = 'aa' | 'bb' | 'cc';
export type MyType = {
[k in MyKeys]?: any;
};
let mySpecialObj: MyType = {
aa: 'key',
cc: 'key'
}
答案 1 :(得分:0)
所以我找到了解决方案,
只是添加问号'?'在关键部分的声明结束 像:
export type MyType = {
[k in MyKeys]?: any;
};