Вы можете использовать [ngStyle]
для привязки к методу, который вернет соответствующий цвет.
В шаблоне добавьте [ngStyle]
к <tr>
:
<tr class="tr1" *ngFor="let participant of allParticipants" [ngStyle]="getBgColor(participant.rating)">
<td class="participant-properties">{{participant.stakeholderId}}</td>
<td class="participant-properties">{{participant.name}}</td>
<td class="participant-properties">{{participant.rating}}</td>
</tr>
В контроллере вы можете использовать switch case
или Map
, чтобы проверить условие и вернуть соответствующий стиль как Object
для [ngStyle]
привязки в шаблоне.
getBgColor(rating: string){
switch(rating)
{
case'active':
return {'background':'#b3ffcc'};
case 'warn':
return {'background':'#ffffb3'};
case 'rejected':
return {'background':'#ffb3b3'};
}
}
Вот демонстрация стекаблиц:
https://stackblitz.com/edit/angular-4gb9vh