web-dev-qa-db-fra.com

Comment afficher une chaîne différente pour les énumérations Angular 4 typescript

J'ai une énumération basée sur une chaîne. Sans changer la classe enum, j'ai besoin d'afficher différentes chaînes sur mon modal. Mon obj contient l'énumération. Mon code est le suivant:

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>

Manuscrit:

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

Je voudrais voir UN comme Un, DEUX comme Deux, etc. Pourriez-vous m'aider assez s'il vous plaît?

Remarque: j'ai inclus angular 2 également parce que 2 et 4 sont très similaires.

6
Red fx

Vous pouvez également initialiser des énumérations avec des valeurs telles que

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

Voir documentation .

Remarque: cela a été introduit dans TypeScript 2.4

9
Lyubomir