微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 LitElement 的 vaadin 网格中延迟加载项目

如何解决如何在 LitElement 的 vaadin 网格中延迟加载项目

我需要在 LitElement 中以最佳方式呈现无限可滚动数据。 Vaadin-grid 似乎适合这个用例。然而,数据是巨大的。所以我试图从后端延迟加载数据块。此后端 api 支持以块的形式返回记录(这样在第一次调用时将返回记录总数)。 是否有任何可能的方法使用 LitElement 从后端在 vaadin-grid 中延迟加载数据块。

解决方法

这里有一个来自上述初学者的例子:

  private async getGridData(params: GridDataProviderParams,callback: GridDataProviderCallback) {
    const index = params.page * params.pageSize;
    const data = await SamplePersonEndpoint.list(index,params.pageSize,params.sortOrders as any);
    callback(data ?? []);
  }

如您所见,参数包含 page 和 pageSize,然后可以在后端用于分页。

SampleEndpoint 使用这个:

public List<SamplePerson> list(int offset,int limit,List<GridSorter> sortOrder) {
    Page<SamplePerson> page = service
            .list(PagingUtil.offsetLimitTypeScriptSortOrdersToPageable(offset,limit,sortOrder));
    return page.getContent();
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。