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

Jump back to index using `scrollToIndex` a second time

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

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

Jump to: Planets, Nebulae

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

我想使用 "Jump to" link 滚动到列表中相应部分的开头。如果我滚动一些内容,我希望随后点击跳转 link 将我带回该部分。

我第一次点击 "Nebulae" link 它工作正常,但在随后的点击中没有任何反应。我认为这是因为 scrollToIndex 是一个道具,在第一次点击后不会改变。我试过使用 forceUpdateGrid 但它似乎没有重置滚动位置。

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

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

解决此问题的一种方法是在设置后取消设置 scrollToIndex 属性(这样,如果您随后重置它,它仍将是一个新值)。暂时取消设置(也就是将其重置为 undefined)也不会对列表产生影响,因此您应该没问题。