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



假设我有以下对象列表:

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

为了简单起见,让我们假设我希望每页显示2个元素。

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

现在假设我在第二页上,id为2的元素被删除。我想通过执行:myQuery(last:2, before:3)
移动到上一页,这将导致第一页只有一个元素(id为1的元素(,这对我来说似乎是一种糟糕的用户体验。

基于光标的分页是否不适合偏移分页,或者您是如何处理的?我唯一能想到的就是不要重新修改数据。在这种情况下,用户仍然认为id为2的对象在那里。

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

最新更新