文字列ベースの列挙型があります。 enumクラスを変更せずに、モーダルに異なる文字列を表示する必要があります。私のオブジェクトには列挙型が含まれています。私のコードは次のとおりです。
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>
TypeScript:
fooToList(): Array<string> {
const keys = Object.keys(FooEnum);
return keys.slice(keys.length / 2);
}
ONEをUn、TWOをDeuxなどと見たいと思います。
注:2と4は非常に似ているため、angular 2も含めました。
次のような値でも列挙型を初期化できます。
enum FooEnum {
ONE = 'Un',
TWO = 'Deux',
... etc
}
ドキュメント を参照してください。
注:これはTypeScript 2.4で導入されました