Установить pageIndex в пагинаторе материала Angular, не работающем при загрузке страницы в первый раз

Я хочу, чтобы Angular Paginator запускался со второй страницы при обновлении страницы, но я получил эту ошибку

ERROR TypeError: Cannot set property 'pageIndex' of undefined

Я пытался использовать задержку, но это не лучшее решение,

HTML

<mat-paginator #paginator
  showFirstLastButtons
  [length]="length"
  [pageSize]="pageSize"
  [pageSizeOptions]="pageSizeOptions"
  (page)="pageEvent = changePage($event)">
</mat-paginator>

Машинопись

  @ViewChild('paginator', { static: true }) paginator;
  pageSize = 5;
  pageSizeOptions: number[] = [5, 10, 50, 100];
  pageEvent: PageEvent;
  buttonDisablity = true;

  ngOnInit(): void {
    this.paginator.pageIndex = 2;
  }


person Diako Amir    schedule 15.07.2020    source источник


Ответы (1)


ngOnInit хук не имеет доступа к viewchild экземпляру. Экземпляр ViewChild доступен только в хук afterViewInit или после него.

ngAfterViewInit(): void {
    this.paginator.pageIndex = 2;
}
person micronyks    schedule 15.07.2020