Учитывая, что это ваш главный пагинатор:
<mat-paginator [length]="totalRecords" [pageSize]="10" [pageSizeOptions]="[10, 25, 50]"></mat-paginator>
Вы можете добавить второй пагинатор, свойства которого связаны с первым пагинатором (это гарантирует, что при изменении первого пагинатора изменения будут отражены во втором 1) и подключите его (страницу) к событию, чтобы убедиться, что изменения будут отражены в первом paginator (и, тем самым, в источнике данных):
<mat-paginator (page)="syncMainPaginator($event)" [pageSize]="paginator.pageSize" [pageIndex]="paginator.pageIndex"
[length]="paginator.length" [pageSizeOptions]="paginator.pageSizeOptions"></mat-paginator>
В вашем файле .ts вам нужно захватить первый пагинатор (или захватить компонент по id, если есть еще несколько пагинаторов):
@ViewChild(MatPaginator)
paginator: MatPaginator;
и определить функцию для синхронизации c обоих пагинаторов:
syncMainPaginator(event: PageEvent) {
this.paginator.pageIndex = event.pageIndex;
this.paginator.pageSize = event.pageSize;
this.paginator.page.emit(event);
}
Make убедитесь, что основной (первый) paginator подключен к MatTableDataSource.
Примечание. Я использую пользовательский класс DataSource, так что для этого может потребоваться некоторая настройка, но вы должны дать правильное представление о том, как этого добиться. .