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

Not able to set initial pageIndex in mat-paginator when dealing with large datasets

从这个 SO 我了解到,为了处理大型数据集,您应该在 ngAfterViewInit 中设置 dataSource.paginator before dataSource.data。

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

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

当我在 ngOnInit 中加载我的数据,然后在 ngAfterViewInit 中加载分页器时,我能够设置初始 pageIndex:

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

你可以试试这个:

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

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