以下写法会报错
enum Abc {
A = 'a',
B = 'b',
C = 'c',
}
// 只需要 A和B 这种情况应该怎么写呢
const map: Record<Abc, string> = {
[Abc.A]: 'aaa',
[Abc.B]: 'bbb',
}
以下写法会报错
enum Abc {
A = 'a',
B = 'b',
C = 'c',
}
// 只需要 A和B 这种情况应该怎么写呢
const map: Record<Abc, string> = {
[Abc.A]: 'aaa',
[Abc.B]: 'bbb',
}
enum Abc {
A = 'a',
B = 'b',
C = 'c',
}
type AbcKeys = keyof typeof Abc;
type MyKeys = Exclude<AbcKeys, 'C'>;
// 或者 type MyKeys = Extract<AbcKeys, 'A' | 'B'>; 更符合你只想要A和B的意思
const map1: Record<typeof Abc[MyKeys], string> = {
[Abc.A]: 'aaa',
[Abc.B]: 'bbb',
};
enum Abc {
A = 'a',
B = 'b',
C = 'c',
}
//使用 Abc.A | Abc.B 简单明了
const map: Record<Abc.A | Abc.B, string> = {
[Abc.A]: 'aaa',
[Abc.B]: 'bbb',
}
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
Record<Exclude<Abc, 'c'>, string>