如何处理基于光标的分页中的先前元素的删除?

问题描述 投票:0回答:1

假设我有以下对象列表:

[{id: 1}, {id: 2}, {id: 3}, {id: 4}]

并且为了简单起见,假设我要在每页显示2个元素。

我可以通过提供以下参数来查询第一页:myQuery(first: 2)通过使用第一页的endCursor(即id 2)来创建第二页:myQuery(first:2, after:2)

现在,假设我在第二页上,并且ID为2的元素被删除。我想通过执行以下命令转到上一页:myQuery(last:2, before:3)这将导致第一页仅包含一个元素(ID为1的元素),对我来说这似乎是不好的用户体验。

基于光标的分页不是很适合偏移分页,还是您如何处理?我唯一能想到的就是不重新获取数据。在这种情况下,用户仍会认为ID为2的对象在那里。

pagination graphql relay
1个回答
0
投票

这不是一个聪明的问题。最简单的解决方案是在第一页使用myQuery(first: 2)。因为我总是知道状态,所以我在哪一页。

© www.soinside.com 2019 - 2024. All rights reserved.