如何在上下两个方向上进行无限滚动。我正在使用InfiniteLoader和List,两者都是react-virtualized组件。我有一个具有初始日期时间范围的时间戳列表。从那里的名单应该是无限的双向。目前,向下滚动到列表底部将触发函数_loadMoreRows()。但是,我想在向上滚动时触发具有相同功能的_loadMoreRows()。react-virtualized InfiniteLoader在两个方向上,顶部和底部
2
A
回答
1
我现在工作:)一切都很好。 <InfiniteLoader>
的threshold
道具定义在预取数据时的开始/结束之前的索引的阈值数量,即,触发器_loadMoreRows()
。
this.state.items
中的第一项和最后一项应在对初始数据提取后将其对应的loadedRowsMap
设置为undefined
。
const items = _getItems(); // fetch items
const rowCount = items.length;
const loadedRowsMap = [];
_.map(this.state.loadedRowsMap,(row,index)=>{
const status = (index===0 || index===rowCount-1) ? undefined : STATUS_LOADED;
loadedRowsMap.push(status)});
scrollToIndex = parseInt(rowCount/2,10);
this.setState({
items, rowCount, loadedRowsMap, scrollToIndex,
});
之前显示所述列表时,<List>
部件的scrollToIndex
丙应该被设置为列表的中间,即rowCount/2
。这个数字应该满足等式
0 + threshold < scrollToIndex < rowCount - 1 - threshold.
功能_isRowLoaded()
将检查loadedRowsMap[index]
。如果它设置为STATUS_LOADED
或STATUS_LOADING
(在InfiniteLoader
中使用的内部常量),它将不会触发_loadMoreRows()
。如果它设置为undefined
,则它将触发_loadMoreRows()
。
使用此设置,触发_loadMoreRows()
在两个滚动方向上,向上和向下都起作用。
相关问题
- 1. 顶部div出现在底部和底部到顶部
- 2. 顶部和开方的底部编号
- 3. 对齐两个标签的底部和顶部在垂直UIStackView
- 4. 顶部和底部边框
- 5. 两条线,底部和顶部,在H2的两侧
- 6. 如何制作两个div顶部和底部
- 7. 在屏幕顶部和底部的LinearLayout
- 8. 浮动底部和向上
- 9. UIGestures从两手指向下滑动从顶部到底部
- 10. 滚动顶部,然后底部,然后顶部,然后底部
- 11. jQuery Animate顶部(从底部到顶部)
- 12. 如何对顶部,底部和两侧(水平和垂直)
- 13. UITableView阴影顶部和底部
- 14. 机器人:TextView的:顶部和底部
- 15. 双背景图像顶部和底部
- 16. JApplets:去除顶部和底部带
- 17. 顶部和底部的盒子阴影
- 18. SSAS - 顶部的总和或底部
- 19. 中心底部和顶部视图
- 20. android布局 - 顶部和底部
- 21. 顶部和底部分页同步
- 22. 背景的顶部和底部
- 23. UIScreenEdgePanGestureRecognizer:顶部和底部边缘
- 24. 斜角边缘顶部和底部
- 25. UIImageView如何切断顶部和底部?
- 26. 顶部和底部的销售每月
- 27. html div顶部和底部的文字
- 28. CSS顶部和底部对齐
- 29. 花式框填充(顶部和底部)
- 30. 填充顶部和底部ErrorProvider控件