如何为枚举显示不同的字符串Angular 4 typecript

问题描述:

我有一个基于字符串的枚举。在不改变枚举类的情况下,我需要在模态中显示不同的字符串。我的obj包含枚举。我的代码如下:如何为枚举显示不同的字符串Angular 4 typecript

ENUM:

export enum FooEnum { 
     ONE, 
     TWO, 
     THREE 
    } 

HTML:

<select class="form-control" 
        type="text" 
        id="foo" 
        [(ngModel)]="obj.foo" 
        required 
        name="foo" 
        #foo="ngModel"> 
       <option *ngFor="let foo of fooToList()" [ngValue]="foo">{{foo}}</option> 
      </select> 

打字稿:

fooToList(): Array<string> { 
    const keys = Object.keys(FooEnum); 
    return keys.slice(keys.length/2); 
    } 

我想查看一个为不可,两成德塞夫勒等你能帮我漂亮吗?

注:我包括角2也因为2和4是非常相似。

您可以用初始化枚举值也如

enum FooEnum { 
    ONE = 'Un', 
    TWO = 'Deux', 
    ... etc 
} 

documentation

注意:这是在TypeScript 2.4中引入的

+0

谢谢您的回答;但它给了我一个错误:https://imgur.com/a/VxBaM –

+0

我不明白,这应该工作,看到这里https://www.typescriptlang.org/play/#src=enum%20FooEnum% 20%7B%20%0D 0A%%20%20ONE%20%3D%20'Un '%2C%0D 0A%%20%20TWO%20%3D%20'Deux' %2C%0D 0A%%20% 20%3D%20'Tres'%2C%0D%0A%7D%0D%0A%0D%0A%0D%0Aalert(FooEnum.ONE)%3B – lustoykov

+0

...并单击运行。你的设置是什么?也许这只是IDE配置不当而已。代码应该工作。 – lustoykov