【发布时间】:2021-02-14 20:38:55
【问题描述】:
我想将 interface/types 属性的 prop 类型转换为与枚举值匹配的任何元素的数组。
enum X = {
"one" = 1,
"two" = 2,
"three" = 3,
// .... and so on
}
interface Y {
prop: X[] // this array should always contains values from enum only, not necessarily all
}
(a) prop: ["one", "two"] --- 有效
(b) 属性:["one"] --- 有效
(c) prop: ["one", "XYZ"] --- 无效,如果 "XYZ" 不是枚举的一部分
我不确定我应该如何对我的 prop 进行类型转换,以便它只匹配枚举值列表。
任何帮助将不胜感激!!!
谢谢
【问题讨论】:
-
您的枚举定义无效。 typescriptlang.org/play?#code/…
-
枚举成员不能有数字名称.ts(2452)
-
对不起,这是我的错,我已经纠正了。
-
所以你想提取枚举键作为一种类型?
标签: typescript enums interface typescript-types