Как установить активный цвет петлевых мат-карт?

У меня есть мат-карта, которая зациклена. Как я могу установить активный цвет карточки, по которой я щелкнул?

<div>
  <ng-container *ngFor="let tenant of tenantData">
  <mat-card class="card-card" (click)="onCardClick(tenant.id)">
    <mat-card-header>
      <mat-card-title>{{tenant.tenantName}}</mat-card-title>
      <mat-card-subtitle>{{tenant.abbr}}</mat-card-subtitle>
    </mat-card-header>
    <mat-card-content>
      Tenant# {{tenant.id}}
    </mat-card-content>
  </mat-card>
</ng-container>
</div>

1 ответ

Решение

Создать переменную activeTenantId в *component.ts и onclick добавить текущий выбранный tenantId в эту переменную и добавить динамический класс

пример

<div>
  <ng-container *ngFor="let tenant of tenantData">
  <mat-card class="card-card" [class.active-tenant]="tenant.id === activeTenantId" (click)="onCardClick(tenant.id)">
    <mat-card-header>
      <mat-card-title>{{tenant.tenantName}}</mat-card-title>
      <mat-card-subtitle>{{tenant.abbr}}</mat-card-subtitle>
    </mat-card-header>
    <mat-card-content>
      Tenant# {{tenant.id}}
    </mat-card-content>
  </mat-card>
</ng-container>
</div>

onCardClick(id) {
 activeTenantId = id; // <=== put your trigger here
}
Другие вопросы по тегам