Как использовать 2 пагинации для одного стола в таблице угловых материалов? - PullRequest
0 голосов
/ 02 марта 2019

Я создаю приложение в angular6 с угловым материалом.Как использовать 2 нумерации страниц в одной таблице.enter image description here Я хочу показать нумерацию страниц в верхнем и нижнем колонтитулах.

В нумерации заголовков отображаются только «Элементы на странице» с раскрывающимся списком.В нумерации страниц нижнего колонтитула появится стрелка и все.

Когда я добавляю 2 нумерации страниц, вторая не работает.

См. Скриншоты enter image description here

Спасибо.

1 Ответ

0 голосов
/ 04 марта 2019

Я не думаю, что на данный момент существует официальное решение для этого, и вы должны синхронизировать оба пагинатора самостоятельно.

Сконфигурируйте первый paginator, как вам нравится, и добавьте все входные параметры ко второму:

<mat-paginator #paginator [pageSizeOptions]="[5, 10, 20]" showFirstLastButtons></mat-paginator>

<table mat-table [dataSource]="dataSource"> <!-- ... --> </table>

<mat-paginator (page)="syncPrimaryPaginator($event)" 
  [pageSize]="paginator.pageSize" [pageIndex]="paginator.pageIndex"
  [length]="paginator.length" [pageSizeOptions]="paginator.pageSizeOptions"></mat-paginator>

В ваш компонент добавьте метод для синхронизации первого paginator, если используется второй:

dataSource = new MatTableDataSource<PeriodicElement>(ELEMENT_DATA);

@ViewChild(MatPaginator) paginator: MatPaginator;

ngOnInit() {
  this.dataSource.paginator = this.paginator;
}

syncPrimaryPaginator(event: PageEvent) {
  this.paginator.pageIndex = event.pageIndex;
  this.paginator.pageSize = event.pageSize;
  this.paginator.page.emit(event);
}

Я разбудил этот официальный пример и обновил его, чтобы воспроизвести вашу проблему. Здесь - мое решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...