【发布时间】:2020-02-25 23:20:54
【问题描述】:
我有一个由 3 个枚举组成的类型。
enum TextItem {
BOOK = "inventory.book",
PAGE = "inventory.page"
}
enum FoodItem {
BURGER = "food.burger",
LETTUCE = "food.lettuce",
}
enum DrinkItem {
WATER = "drinks.water",
COLA = "drinks.cola",
}
type Item = TextItem | FoodItem | DrinkItem;
const getEnumValue(item: Item) {
// What to do here?
}
Item 类型的枚举在 getEnumValue 函数中传递。是哪个项目,我不知道。但可以确定它是Item 类型(例如DrinkItem.WATER)。
在函数getEnumValue中传递项目时,如何确定关联的字符串值?
我在想而不是我会说的项目keyof Item。但随后 Typescript 开始抱怨 item 的类型为 never。
【问题讨论】:
-
您也可以发布您正在传递的项目吗?
-
在 getEnumValue 函数中传递了一个 Item 类型的枚举。我不知道到底是通过了哪个项目。
-
这可能会有所帮助:How to merge two enums in TypeScript.
标签: typescript enums