(此问题与react-virtualized库有关)
我有一个使用<List>
来显示多个项目类别的组件。结果输出类似于:
Jump to: Planets, Nebulae
PLANETS
- Mercury
- Venus
- Jupiter
- ...
NEBULAE
- Horsehead
- Ant
- Boomerang
- ...
我想使用“跳转到”链接滚动到列表中相应部分的开头。如果我滚动一些,我希望随后点击跳转链接,让我回到该部分。
我第一次点击“Nebulae”链接时效果很好,但后续点击没有任何反应。我认为这是因为scrollToIndex
是一个道具,并且在第一次点击后不会改变。我尝试过使用forceUpdateGrid
但似乎没有重置滚动位置。
有没有办法连续多次跳转到同一个索引?
答案 0 :(得分:2)
不幸的是,这是道具方法的局限。 (反应 - 虚拟化只有在检测到新道具时才会手动滚动。否则,一旦设置了初始道具,用户将无法使用鼠标滚动。)
解决此问题的一种方法是在设置scrollToIndex
道具后取消设置(如果您重置它,它仍将是新值)。暂时取消它(也就是将其重置为undefined
)对列表没有任何影响,所以你应该没事。