处理大型数据集时无法在 mat-paginator 中设置初始 pageIndex

Mic*_*ker 2 angular-material angular angular-material-table

从这篇文章中我了解到,为了处理大型数据集,您应该在 ngAfterViewInit 中的 dataSource.data之前设置 dataSource.paginator。

但是,在执行此操作时,我无法使用 this.paginator.pageIndex 设置初始 pageIndex。

https://stackblitz.com/edit/angular-mat-table-v2

当我在 ngOnInit 中加载数据并在 ngAfterViewInit 中加载分页器时,我可以设置初始 pageIndex:

https://stackblitz.com/edit/angular-mat-table-v1

小智 5

你可以试试这个:

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

  ngAfterViewInit() {
    setTimeout(() => {
     this.paginator.pageIndex = 3;
     this.todos$.subscribe((todos) => this.dataSource.data = todos);
    }, 0);
  }
Run Code Online (Sandbox Code Playgroud)