Как показать / скрыть нижний колонтитул материала программно? - PullRequest
0 голосов
/ 17 октября 2019

Есть ли способ показать / скрыть нижний колонтитул таблицы материалов, используя переменную @Input()? Я пытаюсь создать пользовательский компонент таблицы, который может иметь или не иметь нижний колонтитул, например:

<my-component [showFooter]="false"></my-component>

Очевидная вещь, о которой я подумал, это просто поставить *ngIf на mat-footer-row внутри компонентаопределение. Но когда я пытаюсь использовать

<tr *ngIf="showFooter" *matFooterRowDef="displayedColumns; sticky: true"></tr>

или

<td *ngIf="showFooter" mat-footer-cell *matFooterCellDef>{{someValue}}</td>

, я получаю следующую ошибку от компилятора.

Can't have multiple template bindings on one element. Use only one attribute prefixed with *

Как правильно реализоватьэто если я не могу добиться этого используя *ngIf?

1 Ответ

3 голосов
/ 17 октября 2019

Вы можете использовать только одну структурную директиву (обозначенную *) для одного элемента.

Вы можете использовать ng-container:

<ng-container *ngIf="showFooter">
  <td mat-footer-cell *matFooterCellDef>{{someValue}}</td>
</ng-container>
...