#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. таким образом, вы не можете применить его ко всей таблице, потому что каждая строка представляет одного клиента,