nic*_*ook 5 angular-material angular angular6
为了这个目的,我最近在升级到角度6之后尝试在mat-table组件中实现一个页脚行,但是在表格中添加mat-footer-cell和mat-footer-row元素后,我得到以下内容错误:
错误类型错误:无法在MatFooterRowDef.push读取未定义的属性"模板"../ node_modules/@angular/cdk/esm5/table.es5.js.CdkFooterRowDef.extractCellTemplate(vendor.js:17400)
该表仍显示在页面上,但没有数据,没有页脚行,并且每个列标题右侧的T符号.
HTML:
<ng-container matColumnDef="total">
<mat-header-cell *matHeaderCellDef mat-sort-header style="width: 15%; flex: none">Total</mat-header-cell>
<mat-cell *matCellDef="let item" style="width: 15%; flex: none">{{item.total | currency: 'GBP'}}</mat-cell>
<td mat-footer-cell *matFooterCellDef>100</td>
</ng-container>
<mat-header-row *matHeaderRowDef="tableColumns"></mat-header-row>
<mat-row *matRowDef="let row; columns: tableColumns" (click)="editItem(row)"></mat-row>
<tr mat-footer-row *matFooterRowDef="tableColumns"></tr>
</mat-table>
Run Code Online (Sandbox Code Playgroud)
小智 9
您可以定义自己的“tableFooterColumns”变量。
tableFooterColumns: string[] = ['total'];
Run Code Online (Sandbox Code Playgroud)
并在模板中使用它(根据需要更改“colspan”):
<tr mat-footer-row *matFooterRowDef="tableFooterColumns" colspan="2"></tr>
Run Code Online (Sandbox Code Playgroud)
小智 5
需要为每列包含mat-footer-cell:
<div class="example-container mat-elevation-z8">
<mat-table #table [dataSource]="dataSource">
<mat-header-row *matHeaderRowDef="displayedColumns; sticky: true"></mat-header-row>
<mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row>
<ng-container matColumnDef="categoryName">
<mat-header-cell *matHeaderCellDef> First Name </mat-header-cell>
<mat-cell *matCellDef="let row"> {{row.firstName}} </mat-cell>
//This is the part for which the code is breaking
<mat-footer-cell *matFooterCellDef> Your footer column Name will goes here </mat-footer-cell>**
</ng-container>
<ng-container matColumnDef="categoryName">
<mat-header-cell *matHeaderCellDef> Last Name </mat-header-cell>
<mat-cell *matCellDef="let row"> {{row.lastName}} </mat-cell>
//This need to be included in all your columns
<mat-footer-cell *matFooterCellDef> Your 2nd footer column Name will goes here </mat-footer-cell>**
</ng-container>
<mat-footer-row *matFooterRowDef="displayedColumns; sticky: true"></mat-footer-row>
</mat-table>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8858 次 |
| 最近记录: |