第二次使用' scrollToIndex '跳回索引



(这个问题与react-虚拟化库有关)

我有一个组件,它使用<List>来显示几个项目类别。结果输出如下所示:

Jump to: Planets, Nebulae
PLANETS
- Mercury
- Venus
- Jupiter
- ...
NEBULAE
- Horsehead
- Ant
- Boomerang
- ...

我想使用"跳转到"链接滚动到列表中相应部分的开始。如果我滚动了一些,我希望随后的跳转链接点击将我带回到该部分。

我第一次点击"星云"链接,它工作得很好,但在随后的点击中什么也没有发生。我认为这是因为scrollToIndex是道具,在第一次点击后不会改变。我试过使用forceUpdateGrid,但它似乎没有重置滚动位置。

是否有一种方法可以在一行中多次跳转到同一索引?

不幸的是,这是props方法的一个限制。(react-virtual仅在检测到道具时手动滚动。否则,一旦设置了初始道具,用户将无法使用鼠标滚动。)

解决这个问题的一种方法是一旦设置了scrollToIndex prop就取消设置(这样如果您重新设置它,它仍然是一个新值)。暂时取消设置(也就是将其重置为undefined)也不会对列表产生影响,所以您应该没问题。

最新更新