Таблица угловых материалов применяет класс на основе [источника данных]

#angular #angular-material #angular-ng-class

#угловой #angular-material #angular-ng-class

Вопрос:

Я создал таблицу угловых материалов и хотел бы использовать class error-text , если [источник данных] возвращает isActive=false.

Я пытаюсь сделать это, но безуспешно:

 <table
  mat-table
  [dataSource]="dataSource"
  matSort
  class="mat-elevation-z8 table table-striped"
  [ngClass]="dataSource?.isactive == 'false' ? 'error-text' :''"
>
  

Мой класс не применяется к таблице.

Я понимаю, что могу применить этот класс к каждой строке моей таблицы, но мне это кажется неправильным решением:

 <ng-container matColumnDef="fullname">
    <th mat-header-cell *matHeaderCellDef mat-sort-header>
      {{ translate("name") }}
    </th>
    <td
      mat-cell
      *matCellDef="let element"
      [ngClass]="element?.isactive == 'false' ? 'error-text' :''"
    >
      {{ element.fullname }}
    </td>
  </ng-container>
  

Кто-нибудь нашел решение, в котором я могу просто указать ngClass один раз, и оно применяется ко всей таблице?

Комментарии:

1. источник данных здесь представляет собой массив элементов, а не простой объект, поэтому вы не можете сделать datasource.something , если isactive означает, является ли массив пустым или нет, вы можете использовать datasource.length > 0

2. @Ezzabuzaid имеет смысл. isactive возвращает значение true или false… есть идеи?

3. Что isactive делает?

4. @Ezzabuzaid он просто возвращает true или false, чтобы указать, является ли это активным клиентом. Неактивные клиенты должны отображаться в таблице красным текстом.

5. таким образом, вы не можете применить его ко всей таблице, потому что каждая строка представляет одного клиента,