首页 > 解决方案 > 在打字稿中使用字符串而不是枚举

问题描述

我有以下枚举

enum ITEMS {
  ITEM1 = 'item1',
  ITEM2 = 'item2',
}

和一个函数

function v(s: ITEMS) {
    console.log(s);
}

通常我将此功能用作

v(ITEMS.item1) // logs "item1"

现在我必须用一些外部输入来调用这个函数。例如,我得到一个带有 item 值的服务器响应。

所以当我尝试

   v(serverResponse.item)

它抱怨“字符串”类型的参数不能分配给“项目”类型的参数。

所以为了解决它,我使用

   v(serverResponse.item as ITEMS)

有更推荐的解决方案吗?

标签: typescriptenums

解决方案


推荐阅读