问题描述
我试图找出 List 组件何时在滚动时到达底部。滚动事件在开始时仅触发一次,之后它再也不会调用。如何检测滚动到达列表底部或最后一项。
const onScroll = (event) => {
console.log(event);
console.log("called");
}
return (
<Box className={classes.root}>
{((products && products.length > 0) || loadingProducts) && (
<LzCard
onscroll={onScroll}
style={{height: '100%'}}
showShadow={false}
loading={loadingProducts}
>
<Box classes={classes.scrollBox}>
<InfiniteLoader
isRowLoaded={({ index }) => {
return !!products[index];
}}
loadMoreRows={({ startIndex,stopIndex }) => {
return Promise.resolve();
}}
rowCount={100000}
threshold={15}
>
{({ onRowsRendered,registerChild }) => (
<AutoSizer disableHeight>
{({ width }) => (
<div>
<List
onScroll={onScroll}
ref={registerChild}
rowCount={products.length}
height={products.length * 100}
width={width}
rowHeight={100}
onRowsRendered={onRowsRendered}
roWrenderer={ProductRow}
/>
</div>
)}
</AutoSizer>
)}
</InfiniteLoader>
<BottomScrollListener onBottom={bottomScrollCallback} />
</Box>
</LzCard>
)}
{isLoadingMore && (
<Box display="flex" justifyContent="center" mt={0} mb={0}>
<CircularProgress size={24} />
</Box>
)}
{showMoreOptionsPopover && (
<LzActionsPopover
open={showMoreOptionsPopover}
anchorEl={moreOptionsAnchor}
width={255}
onClose={handleMoreOptionsPopoverClose}
actions={[
new LzPopoverAction(
'View product page',LzPopoverActionType.Default,'view'
)
]}
onActionClicked={handlePopoverActionClicked}
/>
)}
</Box>
);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)