ngx-datatable двойной начальный вызов на пейджинге - PullRequest
0 голосов
/ 19 сентября 2019

это моя реализация с использованием ngx-datatable

html

<ngx-datatable
  class="table-base table-base_border clickable-list"
  [rows]="tickets"
  [headerHeight]="30"
  [footerHeight]="50"
  [columns]="columns"
  [columnMode]="'flex'"
  [externalPaging]="true"
  [count]="page.totalElements"
  [offset]="page.pageNumber"
  [limit]="page.size"
  [rowHeight]="40"
  (page)="onPageChange($event)"
  [externalSorting]="true"
  [selectionType]="'single'"
  [messages]="messages | async"
  (select)="onSelect($event)"
  [scrollbarV]="true"
  [scrollbarH]="false"
  [virtualization]="false"
  ></ngx-datatable>

.ts

ngOnInit(): void {
  this.onPageChange({ offset: 0 });
}

onPageChange(pageInfo: any): void {
  this.page.pageNumber = pageInfo.offset;
  this.gridQuery.page.size = this.page.size;
  this.gridQuery.page.pageNumber = pageInfo.offset + 1;

  this.getData();
}

Проблема в том, что getData() дважды, как в случае с данными, всегда вызывайте onPageChange() после загрузки компонента.

Как я могу предотвратить двойной вызов getData()?

1 Ответ

1 голос
/ 25 сентября 2019

Проблема заключается в том, что дважды вызывается getData (), например, datatable всегда вызывает onPageChange () после загрузки компонента.

Вам не нужно вызывать onPageChange в ngOnInit.Как вы видите, объект данных уже назовет его.

...