我正在尝试设置国家/地区代码的集合。由于我的前端显示它,因此我想显示"奥地利",但是当将其发送到后端时,我只想发送"A",因为这就是它的存储方式。理想情况下,它看起来像这样:
CountryCodes = {
A: "Austria",
D: "Germany",
}
console.log(CountryCodes["A"]); // -> "Austria"
console.log(CountryCodes["Austria"]); // -> "A"
我以为我可以使用枚举,因为
enum MyEnum {
first = 0,
second = 1,
}
成为
MyEnum = {
0 = "first",
1 = "second"
first = 0,
second = 1,
}
当从打字稿转译为 JavaScript 时。但如果枚举的值不是数字,则情况并非如此。
我不确定要使用哪种集合,因为我不想为每个国家/地区代码添加两个 keyValuePair。您知道如何解决这样的问题吗?我在这里错过了一个非常明显的解决方案吗?
我会采取稍微不同的方法。您可以将枚举创建为字符串枚举:
export enum MyEnum {
A = "Australia",
D = "Germany"
}
因此,当您渲染<>MyEnum.A</>
澳大利亚时,将被渲染。
然后,您可以安装枚举值并简单地执行以下操作:
const val = EnumValues.getNameFromValue(MyEnum, 'Australia')
这样val = A
,您就可以将其发送到后端。
希望这有帮助。