使用Admin-on-rest对“游标”进行分页

时间:2017-07-04 13:47:49

标签: pagination admin-on-rest

我的后端API支持GET_LIST操作的基于游标的分页。

API: {apiUrl}/{resource}?fltr={limit:100}

Response: 
{
data: [],
next: {reference_url_to_the_next_paginated_data_set}
}

支持现有AOR分页基础设施的这种分页的最佳方式是什么?

2 个答案:

答案 0 :(得分:1)

我最终使用Custom Saga,Action creator和Reducer实现了这一目标。

  1. 让每个GET_LIST_SUCCESS都有一个自定义的Saga,并为该资源调度自定义的“UPDATE_PAGINATION”操作。
  2. 使用Custom Pagination Reducer处理该动作。 reducer在redux商店中以页面方式为每个资源创建并维护“分页”状态
  3. 订阅该资源的分页状态的连接分页组件,具有“下一个”和“上一个”按钮以及“当前页面”状态。单击“下一步”或“上一步”按钮,获取“currentPage”的“nextUrl”或“previousUrl”,并使用AOR的fetch-meta更新该资源的“数据”状态。

    < / LI>
  4. 在您的数据网格中使用此自定义分页组件

  5. <List resource="myResource" pagination={<CustomPagination />} />

答案 1 :(得分:0)

您需要编写自定义Rest客户端来处理您的响应和请求类型。当客户端发出GET_LIST类型请求时,您需要API来设置X-Total-Count标头。

https://marmelab.com/admin-on-rest/RestClients.html