это моя реализация с использованием 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()
?