【发布时间】:2021-10-01 04:54:11
【问题描述】:
我正在尝试将 typescript 与 graphql 一起使用,他们的枚举系统让我有些头疼。我正在使用数字索引枚举,但没有在 ts 枚举上指定值,例如:
enum Enum { A }
因为 graphql 枚举不能有数字,所以我有一个自定义解析器来将字符串值转换为相应的索引。为了测试我想要做的是:
const a: Enum = Enum[Enum.A]
但是,我收到以下错误:
Type 'string' is not assignable to type 'Enum'.(2322)
我有点理解背后的逻辑,因为在[] 中我可以将不存在的密钥放在枚举上,但密钥本身就是枚举本身,所以它应该有足够的信心返回枚举,而不仅仅是字符串。而且因为Object.values(Enum)同时返回键和值,所以获取键应该仍然是枚举。
有什么解决方法吗?
【问题讨论】:
标签: typescript enums