我有一个由React Virtualized的InfiniteLoader
和Grid
组件构建的无限滚动组件。如果我使用我的鼠标滚轮向下滚动(即合理缓慢),一切都很好。但是,当我单击组件内的滚动条并将其向下拖动(移动得更快)时,我从未将其拖到底部。相反,在向下滚动一定百分比后,滚动条会突然跳回到顶部。
我已尝试在console.log
中添加Grid
个语句,但他们所展示的只是event.target.scrollTop
从一个非常高的数字时间到0
下一个。我无法弄清楚的是event.target.scrollTop
突然变为0
的原因,当我在浏览器中完成所有操作时,我的鼠标向下移动(按住左键单击按钮) )。
有没有人知道如何修复,甚至只是调试这个问题?
答案 0 :(得分:0)
结果是用户错误。
InfiniteLoader
和Grid
都采用rowCount
道具,但两者的值非常不同。 InfiniteLoader
需要rowCount
numItems
,但Grid
需要rowCount
Math.ceil(numItems/columnCount)
。我通过使用InfiniteLoader
版本“修复”了一个单独的问题,但我真正需要做的是为它们传递不同的值。
一旦我想出这个并将两者设置为单独的值,奇怪的滚动重置就消失了。尽管在很长一段时间内通过React Virtualized源代码,我还是无法弄清楚当scrollTop
0
发生rowCount
为{{1}}的目标的事件时超过了。哦,好吧。