1

试图将 ng-datatable 集成到我的 Angular 4 应用程序中。

我不确定缩进的用途是什么[limit]以及它是如何关联的pageSize(作为(page)事件的一部分发出)。

似乎pageSize取决于每行的高度以及其中有多少将适合表格的可用视口。改变[limit]似乎并不影响这一点。

如果我想在需要提取更多数据时从服务器中提取一定数量的行怎么办?我正在尝试使用这种策略创建一个无限滚动,但是文档有点简洁,所以我很清楚所有移动部分是什么。

4

1 回答 1

1

查看源代码并找到了这个。这就是 pageSize 的生成方式。

// 如果超过了限制,我们正在分页

https://github.com/swimlane/ngx-datatable/blob/master/src/components/datatable.component.ts

calcPageSize(val: any[] = this.rows): number {
    // Keep the page size constant even if the row has been expanded.
    // This is because an expanded row is still considered to be a child of
    // the original row.  Hence calculation would use rowHeight only.
    if (this.scrollbarV) {
      const size = Math.ceil(this.bodyHeight / this.rowHeight);
      return Math.max(size, 0);
    }

    // if limit is passed, we are paging
    if (this.limit !== undefined) return this.limit;

    // otherwise use row length
    if (val) return val.length;

    // other empty :(
    return 0;
}
于 2017-05-20T02:53:58.790 回答