typescript - 将字符串转换为使用字符串枚举的值的常规函数

时间:2017-01-12 16:58:02

标签: angular typescript

我的字符串枚举声明如下:

"None"

在我的应用程序中,我有更多这样的套装。我需要一个通用映射函数,它将字符串(来自后端)转换为值(例如:BootDeviceSelector.noChange =&gt; any)。我不知道如何声明参数和函数输出(可能比BootDeviceSelector更好)。我希望传递给这个函数值来转换和要搜索的值列表 - 最好是命名空间名称(例如:let a: BootDeviceSelector = (<any>BootDeviceSelector)['Pxe']; console.log(a); )。

或者单线就足够了,就像这样:

undefined

但是我已经codelyzer了。

我使用的是typescript 2.0.10和Angular 2.3.1,但我可以升级,但是我会在{{1}}包中留下linting。

1 个答案:

答案 0 :(得分:0)

检查Reverse-Mapping for String Enums。例如:

enum BootDeviceSelector {
    noChange = <any>'None',
    PXE_ISCSI = <any>'Pxe'
}

let bds: BootDeviceSelector = BootDeviceSelector.PXE_ISCSI;