如何在上下兩個方向上進行無限滾動。我正在使用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控件