【发布时间】:2018-03-24 07:29:51
【问题描述】:
我有一个字符串枚举,其值应与显示名称相关联,如下所示:
enum MyEnum {
key1 = 'one',
key2 = 'two',
key3 = 'three',
}
const myKey: MyEnum = 'two' as MyEnum; // This value is only known at runtime
const lookupResult = {
[MyEnum.key1]: 'display name for key1',
[MyEnum.key2]: 'display name for key2',
}[myKey];
但是我对查找对象的使用产生了这个错误:
TS7017:元素隐式具有“任何”类型,因为类型 '{ [MyEnum.key1]:字符串; [MyEnum.key2]:字符串; }' 没有索引 签名。
如何将myKey 与其显示名称匹配而不会出现错误?
我应该根本不使用枚举吗?在各种情况下,我都需要枚举值和显示名称。
【问题讨论】:
标签: typescript