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

时间:2016-10-23 03:09:37

标签: javascript reactjs react-virtualized

(此问题与react-virtualized库有关)

我有一个使用<List>来显示多个项目类别的组件。结果输出类似于:

Jump to: Planets, Nebulae

PLANETS
- Mercury
- Venus
- Jupiter
- ...
NEBULAE
- Horsehead
- Ant
- Boomerang
- ...

我想使用“跳转到”链接滚动到列表中相应部分的开头。如果我滚动一些,我希望随后点击跳转链接,让我回到该部分。

我第一次点击“Nebulae”链接时效果很好,但后续点击没有任何反应。我认为这是因为scrollToIndex是一个道具,并且在第一次点击后不会改变。我尝试过使用forceUpdateGrid但似乎没有重置滚动位置。

有没有办法连续多次跳转到同一个索引?

1 个答案:

答案 0 :(得分:2)

不幸的是,这是道具方法的局限。 (反应 - 虚拟化只有在检测到道具时才会手动滚动。否则,一旦设置了初始道具,用户将无法使用鼠标滚动。)

解决此问题的一种方法是在设置scrollToIndex道具后取消设置(如果您重置它,它仍将是新值)。暂时取消它(也就是将其重置为undefined)对列表没有任何影响,所以你应该没事。