を更新画面での方法や表示では、この方法は扱いません。角度4列挙型は、私はAPIから読み込むフィールド(item.state)私のリストで(* ngFor)がリストに
<div class="posts col-md-12" *ngFor="let item of objectives.results" (click)="openItem(modalObjective, item)">
<div class="row">
<h4 class="col-md-11">{{item.title}}</h4>
</div>
<div class="row">
<span class="col-md-2">{{item.description}}</span>
<span class="col-md-3">{{item.ownerPersonName}}</span>
<span class="col-md-3">{{setStateEnum(item.state)}}</span>
<div class="progress col-md-4">
<span class="col-md-2">{{item.state}}%</span>
<div class="progress-bar" role="progressbar" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100" style="width:70%">
<span class="sr-only">70% Complete</span>
</div>
</div>
</div>
</div>
アイテムをクリックすると、このアイテムの詳細が表示されます。このモーダルでは、この項目の「状態」を「select html component」で変更できます。これは大丈夫ですが、状態を変更してモーダルを閉じると、この項目の状態は更新されますが、今回は数値で更新されます。プロパティがメソッドsetStateEnumに再び入らない場合、これはAPIから返された値(整数)を示します。どのように私は状態を更新するたびにプロパティを渡すことができます "setStateEnum"メソッドに再び文字列の値を表示するには? TSで
setStateEnum方法:
rivate setStateEnum(state: any) {
switch (state) {
case 0:
return "Waiting";
case 1:
return "Running";
case 2:
return "Finished";
case 3:
return "Approved";
default:
return state;
}
}
ありがとう!私はちょうど私のスイッチケースに、それが働いていたよりものparseIntを追加するために必要な
UPDATE
!!マスターピラダのように言った。問題は、プロパティがメソッド "setStateEnum"を通過していて、メソッドが "update"から文字列を受け取っていたために "default"に行くということです。このよう
:
private setStateEnum(state: any) {
switch (parseInt(state)) {
case 0:
return "Waiting";
case 1:
return "Running";
case 2:
return "Finished";
case 3:
return "Approved";
default:
return state;
}
}
publicに変更すると、public/privateが問題になる場合は – Everest
が動作するかどうかを確認すると、エラーが発生します。 – masterfloda