【发布时间】:2021-10-24 19:39:58
【问题描述】:
要在我的主题中使用我的颜色枚举,我必须声明它的类型。
我试过这个:
enum COLORS {
PRIMARY = '#FF7900',
}
type ColorsType = {
[key in keyof typeof COLORS]: COLORS[key] // error
}
interface ThemeColors extends ColorsType {}
但我收到此错误:TS2536: Type 'key' cannot be used to index type 'COLORS'
如果我使用 string 而不是 COLORS[key],它会起作用,但我不希望该类型允许任何字符串用于任何 COLORS 属性。
我们如何强制键与映射类型的枚举值相等?
【问题讨论】:
标签: typescript enums mapped-types