0
私がクリックしたボタンの背景色を変更したいのですが、私のコードですが、期待通りに動作していません。行ボタン。どんな助け?ngFor角度2でクリックしたアイテムのbgcolorを変更します。
errorStepMenuOpen() {
this.errorStepMenu = true;
this.btnColor = "#ff7300";
}
私がクリックしたボタンの背景色を変更したいのですが、私のコードですが、期待通りに動作していません。行ボタン。どんな助け?ngFor角度2でクリックしたアイテムのbgcolorを変更します。
errorStepMenuOpen() {
this.errorStepMenu = true;
this.btnColor = "#ff7300";
}
クイック回避策ではなく、単一のbtnColor
を有するのである2スクリプト
<tr *ngFor="let stageitem of stageListData">
<td>{{stageitem.srcScriptInstanceName}}</td>
<td>{{stageitem.startTime}}</td>
<td>{{stageitem.endTime}}</td>
<td>Manual</td>
<td>{{stageitem.state}}</td>
<td><button class="erroDisplayBtn" [ngStyle]="{'background-color':btnColor}" (click)="errorStepMenuOpen($event, stageitem)">{{stageitem.error}}</button></td>
</tr>
角度、あなたはbtnColors
配列を持つことができます。
stageListData
が入力されている場合は、stageListData
をループして、各stageItemに対してデフォルトの色をbtnColors
にプッシュできます。なぜなら、あなたの変数 `これにより、
errorStepMenuOpen(event, stageItem, index) {
this.errorStepMenu = true;
this.btnColors[index] = "#ff7300";
}
それは、すべての行のボタンの色を変更します:あなたのTSに
:あなたのテンプレートで
は、変更に追従させます。 btnColorはすべて同じものに変更されています。 –
あなたは何のstageitemを意味するかについては何も言及していないので、もちろん動作しません。特定のオブジェクト*に何かを設定するか、アイテムのインデックスを使用するか、独自の状態の子コンポーネントを分割します。 – jonrsharpe
'this'はおそらくコンポーネントオブジェクトを参照するので、繰り返し要素に関してグローバルです。 – isherwood