我设置了一个这样的枚举:
type Mode = 'Auto' | 'Manual';
我现在想创建一个对象,它们的键必须是Mode
枚举中的字符串之一。
我尝试过:
class Form extends React.Component {
fields: {
[index: ExecutionMode]: string[]
} = {
Auto: [],
Manual: [],
};
但是这给了我错误:
[ts]索引签名参数类型不能为类型别名。考虑改写'[index:string]:string []'。
这可能是打字稿吗?
答案 0 :(得分:3)
您在这里
type Mode = 'Auto' | 'Manual';
type Fields = {
[K in Mode]: string[]
}
// inside your class:
fields: Fields = {
Auto: [],
Manual: []
}
顺便说一句,您所说的“枚举”是“联合”。