Как я могу использовать "data-label" в mat-table, если я использую *ngFor и директивы?
Итак, у меня проблема с использованием метки данных в моей таблице mat. У меня есть таблица с большим количеством столбцов с данными, и я хочу, чтобы она была адаптивной. Я Google, как я могу сделать это и обнаружил, что я могу использовать атрибут метки данных. Проблема в том, что (как я понимаю) метка данных не может поддерживать angular {{code}}.
Работает только так (только статические данные). Если я пытаюсь записать что-то в фигурные скобки в консоли, у меня есть исключение: "Невозможно связать с" label ", поскольку это не известное свойство" mat-cell ". 1. Если" mat-cell " угловой компонент, и он имеет вход "label", затем убедитесь, что он является частью этого модуля 2. Если "mat-cell" является веб-компонентом, добавьте "CUSTOM_ELEMENTS_SCHEMA" в "@NgModule.schemas" этого компонента, чтобы подавить это сообщение.
Может кто-нибудь объяснить мне, как решить эту проблему, спасибо!
статические данные здесь работают
<div class="example-header" fxLayout="row">
<mat-form-field>
<input matInput (keyup)="applyFilter($event.target.value)" placeholder="Filter">
</mat-form-field>
</div>
<div class="example-container mat-elevation-z8">
<mat-table [dataSource]="dataSource" matSort>
<!-- ID Column -->
<ng-container matColumnDef="id">
<mat-header-cell *matHeaderCellDef mat-sort-header> ID </mat-header-cell>
<mat-cell *matCellDef="let row" data-label="id"> {{row.cnt}} </mat-cell>
</ng-container>
<!-- Progress Column -->
<ng-container matColumnDef="progress">
<mat-header-cell *matHeaderCellDef mat-sort-header> Progress </mat-header-cell>
<mat-cell *matCellDef="let row" data-label="progress"> {{row.progress}}% </mat-cell>
</ng-container>
<!-- Name Column -->
<ng-container matColumnDef="name">
<mat-header-cell *matHeaderCellDef mat-sort-header> Name </mat-header-cell>
<mat-cell *matCellDef="let row" data-label="name"> {{row.name}} </mat-cell>
</ng-container>
<!-- Color Column -->
<ng-container matColumnDef="color">
<mat-header-cell *matHeaderCellDef mat-sort-header> Color </mat-header-cell>
<mat-cell *matCellDef="let row" [style.color]="row.color" data-label="color"> {{row.color}} </mat-cell>
</ng-container>
<mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
<mat-row *matRowDef="let row; columns: displayedColumns;">
</mat-row>
</mat-table>
<mat-paginator [pageSizeOptions]="[5, 10, 25, 100]"></mat-paginator>
</div>
1 ответ
Это решит вашу проблему:
<mat-cell *matCellDef="let row" [attr.data-label]="row"> {{element[row]}}</mat-cell>