条件に基づいてCSSクラスを変更します。私はこれを使用しようとしています:条件に基づいてCSSクラスプロパティを変更する(角度2のngIf)
<div *ngIf="dropDownBg==='Active'">
<style type="text/css">
.ui-select-toggle{
background: green !important;
}
</style>
</div>
<div *ngIf="dropDownBg==='Suspended'">
<style type="text/css">
.ui-select-toggle{
background: red !important;
}
</style>
</div>
<div *ngIf="dropDownBg==='Disabled'">
<style type="text/css">
.ui-select-toggle{
background: grey !important;
}
</style>
</div>
しかし、これは動作しません。デフォルトではブラウザは無視されており、divs
は*ngIf
で、最後のスタイルだけが他のスタイルを上書きします。以下は、ブラウザの解釈は次のとおりです。
UPDATE:私は内部的に、私は任意のコントロールを持っていないクラスのUI-SELECT-toggle'overを使用していますng-select
ドロップダウンを使用していますので、このシナリオでは、発生しました。だからWEIRD人がこの質問をdownvoting、その点に注意してください。
これはコードです:
<div style="min-width: 200px;position: absolute;right: 0">
<ng-select
[items]="items"
(selected)="selected($event)"
[active]="selectedItem"
(removed)="removed($event)"
placeholder="Select a number">
</ng-select>
</div>
残念ながら私はそれを行うことはできません。私はこのクラスを使用するng-selectを使用しています ui-select-toggleを内部的に切り替えます。私は条件に基づいてこのクラスのプロパティを変更したい。 –
ng-selectのラッパーのクラスを変更することはできますか?その場合は、同じ手法を親要素にのみ使用できます。.suspended .ui-select-toggle {background:red; }など。そして内部の角成分のクラスを変更してください: