【发布时间】:2021-01-19 12:27:12
【问题描述】:
我想在角度材料分页上显示所有记录的总数,我是通过根据所选 pageSizeOptions 发送 pageIndex 和 pageSize 来尝试从其余 api 访问 10 条记录,但计数显示为 0 - 100 of 100 only 即使有更多记录,如何启用下一页箭头,目前已禁用。
<div class="table-responsive">
<table mat-table #table [dataSource]="entityList" class="table table-bordered" matSort matSortDirection="asc" matSortActive="createdAt" matSortDisableClear *ngIf="resultsNotFound === false">
<thead></thead>
<tbody>
<ng-container *ngFor="let colDet of otherColumns">
<ng-container matColumnDef="{{colDet['name']}}">
<th mat-header-cell *matHeaderCellDef mat-sort-header="{{colDet['name']}}">{{colDet['label']}}</th>
<td mat-cell *matCellDef="let element" [innerHTML]="formatDate(element[colDet.name],colDet.name)"></td>
</ng-container>
</ng-container>
<ng-container matColumnDef="createdAt">
<th mat-header-cell *matHeaderCellDef mat-sort-header="createdAt">Created At</th>
<td mat-cell *matCellDef="let element">
{{ element.createdAt | amDateFormat: 'DD/MM/YY hh:mm A' }}</td>
</ng-container>
<ng-container matColumnDef="updatedAt">
<th mat-header-cell *matHeaderCellDef mat-sort-header="updatedAt">Updated At</th>
<td mat-cell *matCellDef="let element">
{{ element.updatedAt | amDateFormat: 'DD/MM/YY hh:mm A' }}</td>
</ng-container>
<ng-container matColumnDef="statusCd">
<th mat-header-cell *matHeaderCellDef mat-sort-header="statusCd">Status</th>
<td mat-cell *matCellDef="let element">{{ element.statusCd }}</td>
</ng-container>
<ng-container matColumnDef="actions">
<th mat-header-cell *matHeaderCellDef>Actions</th>
<td mat-cell *matCellDef="let row let i = index">
<button class="btn btn-sm btn-secondary" (click)="viewEntity(row)">View</button>
<!-- <button class="btn btn-sm btn-danger" (click)="deleteMBC(row.id, i)">Comment</button> -->
</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="getDisplayedColumns()"></tr>
<tr mat-row *matRowDef="let row; columns: getDisplayedColumns();"></tr>
</tbody>
</table>
<mat-paginator *ngIf="entityList" [length]="totalLength" [pageSizeOptions]="[10, 100, 200 ]" [pageSize]="fetchRecords"
(page)="loadMore($event)">
</mat-paginator>
</div>
.ts
ngAfterViewInit() {
this.entityList.paginator = this.paginator;
}
ngOnInit() {
this.pageNumber = 0;
this.fetchRecords = 10;
this.getDataModelList();
}
getDataModelList()
{
this.entityService.getEntityList(this.pageNumber, this.fetchRecords)
.subscribe(list => {
this.totalLength = this.totalLength + list.length;
this.entityList = new MatTableDataSource<any>(list);
this.entityList.sort = this.sort;
});
}
loadMore(e: any) {
console.log(e);
this.pageNumber = e.pageIndex
/* this.pageNumber = e.pageSize * e.pageIndex */
if(!this.newFlag)
{
this.entityService.getEntityList(e.pageIndex, e.pageSize)
.subscribe(list => {
this.entityList = new MatTableDataSource();
this.entityList.data = list;
});
}
【问题讨论】: