angular - ngx-datatable 对分页的双重初始调用
问题描述
这是我使用 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()
?
解决方案
问题是 getData() 两次,就像数据表在组件加载后总是调用 onPageChange() 一样。
您不需要在 ngOnInit 中调用 onPageChange。如您所见,数据表已经调用它。
推荐阅读
- javascript - 我不确定如何从我的教科书中解决这个匿名函数闭包问题
- react-native - 反应原生“fontFamily 不是有效的样式属性”
- php - PHP 脚本未将 Swift 数据插入 MYSQL 数据库
- python - 在 Airflow 上存储登录凭据的最佳方式是什么?
- c - For循环不尊重带有数组的if语句
- html - 我的“菜单”类不粘在屏幕顶部,当我做填充时高度自动不起作用
- r - R中没有全局变量的范围
- javascript - 结合 Mineflayer 和 discord.js
- sql-server - 如何在 POWER BI 中减去不同行的日期
- javascript - 如何使浏览器缓存图像做出反应?