Как поставить кнопку на мат-стол в Angular
Я хочу поместить кнопку удаления или значок угловой корзины в mat-table
в угловых. Как я могу этого достичь? Код моего рабочего стола:
<mat-table #table [dataSource]="ELEMENT_DATA">
<ng-container cdkColumnDef="position">
<mat-header-cell *cdkHeaderCellDef fxFlex="40%">Position</mat-header-cell>
<mat-cell *cdkCellDef="let config" fxFlex="40%">{{config.position}}</mat-cell>
</ng-container>
<ng-container cdkColumnDef="name">
<mat-header-cell *cdkHeaderCellDef fxFlex="30%">Label</mat-header-cell>
<mat-cell *cdkCellDef="let config" fxFlex="30%">{{config.name}}</mat-cell>
</ng-container>
<ng-container cdkColumnDef="weight">
<mat-header-cell *cdkHeaderCellDef fxFlex="10%">Order</mat-header-cell>
<mat-cell *cdkCellDef="let config" fxFlex="10%">{{config.weight}}</mat-cell>
</ng-container>
<ng-container cdkColumnDef="symbol">
<mat-header-cell *cdkHeaderCellDef fxFlex="10%">Symbol</mat-header-cell>
<mat-cell *cdkCellDef="let config" fxFlex="10%">{{config.symbol}}</mat-cell>
</ng-container>
<mat-header-row *cdkHeaderRowDef="displayedColumns"></mat-header-row>
<mat-row *cdkRowDef="let config; columns: displayedColumns;"
(click)="editConfig(config.id)"></mat-row>
2 ответа
Решение
Вам нужен дополнительный столбец для этого, например:
displayedColumns: string[] = ['position', 'name', 'weight', 'symbol','deleteAction'];
и использовать в Mat-Table:
<ng-container cdkColumnDef="deleteAction">
<th mat-header-cell *matHeaderCellDef> Delete </th>
<td mat-cell *matCellDef="let element"><i class="material-icons" (click)="delete(element)">delete</i>
</ng-container>
Рабочий пример StackBlitz
Добавьте эту кнопку в другую циновку.
<button class="btn btn-outline-secondary" (click)="delete()"> <i class="fas fa-trash-alt"></i></button>