【问题标题】:How to set angular pageIndex default as 1 in angular material?如何在角度材料中将角度 pageIndex 默认设置为 1?
【发布时间】:2020-02-22 07:56:18
【问题描述】:

我在后端(遗留代码)中的pageIndex1 开头,角度材料paginator.pageIndex0 开头。如何在角度材料中将pageIndex 默认值设置为1?如果我初始化pageIndex = 1。它实际上不起作用。如果我将后端值更改为 0 工作但会破坏其他旧分页器。有什么办法可以做到这一点?

我正在使用angular 8 & angular material 8.02

app.ts

  @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator;

  listOrders() {
    merge(this.paginator.page)
      .pipe(
        startWith({}),
        switchMap(() => {
          this.isLoadingResults = true;
          return this.storeService.orders(this.paginator.pageSize, this.paginator.pageIndex);
        }),
        map((data) => {
          this.isLoadingResults = false;
          this.resultsLength = data.max;
          return data.items;
        }),
        catchError(() => {
          this.isLoadingResults = false;
          return observableOf([]);
        }),
      )
      .subscribe((data) => (this.data = data));
  }

app.html

<mat-paginator
        [length]="resultsLength"
        [pageSize]="pageSize"></mat-paginator>

【问题讨论】:

  • 为什么不将 pageIndex+1 传递给您的服务? return this.storeService.orders(this.paginator.pageSize, this.paginator.pageIndex+1);

标签: angular pagination angular-material angular-pagination


【解决方案1】:

你可以试试这个:

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

  ngAfterViewInit() {
    setTimeout(() => {
     this.paginator.pageIndex = 1;
    }, 0);
  }

【讨论】:

【解决方案2】:

pageIndex 设置为1

<mat-paginator
    [ngClass]="'paginator'"
    [length]="this.propertyCount"
    [pageIndex]="1"
    [pageSize]="this.pageSize"
    [pageSizeOptions]="[5, 10, 25, 100]"
    (page)="updateTableResults($event)"
>
</mat-paginator>

【讨论】:

    猜你喜欢
    • 2019-03-18
    • 1970-01-01
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-04
    • 2018-02-18
    • 2023-04-01
    相关资源
    最近更新 更多