enum typescript bug if my string have space
我的枚举有问题
我用字符串编写枚举,并在*ngfor中浏览我的枚举
但是如果我的字符串有一个空格,页面会显示我2个元素
这是我的枚举:
1 2 3 4 5 6 7 8 | export enum ComponentCategory { FormControls = 'Form Controls', Containers = 'Containers' , Boxes = 'Boxes', DataPresentation = 'DataPresentation', Layout = 'Layout', Miscellaneous = 'Miscellaneous', } |
例如,表单控件的显示是表单控件和表单控件的两倍
谁能解决这个问题?
谢谢
您不必在typescript中显式地声明
你只需要:
1 2 3 4 5 6 7 8 | export enum ComponentCategory { FormControls, Containers, Boxes, DataPresentation, Layout, Miscellaneous } |
要将枚举成员作为字符串获取,然后可以使用(有关源代码,请参阅此so):
1 2 3 4 5 6 | for (var enumMember in ComponentCategory ) { var isValueProperty = parseInt(enumMember, 10) >= 0 if (isValueProperty) { console.log(ComponentCategory [enumMember]); } } |
与
1 2 3 4 5 6 7 8 9 10 11 12 | function getEnumNames(){ var names: Array<string> = new Array<string>(); for (var enumMember in ComponentCategory ) { var isValueProperty = parseInt(enumMember, 10) >= 0 if (isValueProperty) { names.push(ComponentCategory [enumMember]); } } return names.map(name => name.replace(/([A-Z])/g, ' $1').trim()); } // in html |