我有一个枚举类型,例如Currency
。我无法更改它,因为它自动建立在graphql模式上。我想将其用于数据,但是我不知道该怎么办。
enum Currency {
rub = 'RUB',
usd = 'USD',
eur = 'EUR',
}
const data: { currency: Currency[keyof typeof Currency] } = {
currency: 'RUB',
};
错误
TS2339: Property 'eur' does not exist on type 'Currency'.
TS2339: Property 'rub' does not exist on type 'Currency'.
TS2339: Property 'usd' does not exist on type 'Currency'.
答案 0 :(得分:1)
我不确定是否可以完全按照自己的意愿去做,但是最有可能的是,您想做这样的事情:
const data: { currency: Currency } = {
currency: Currency.rub,
};
这是通常使用枚举的方式(通过在获取其值之一时始终显式引用枚举)。