onScrollChanged method

  1. @override
bool onScrollChanged(
  1. ScrollNotification scrollInfo
)
override

Implementation

@override
bool onScrollChanged(ScrollNotification scrollInfo) {
  super.onScrollChanged(scrollInfo);
  final canLoad = (viewModel.loadPageRequestState.isSucceed ||
          viewModel.loadPageRequestState.isIdle) &&
      !viewModel.isAllItemsLoaded;
  final maxScrollExtent =
      scrollInfo.metrics.maxScrollExtent - (widget.cacheExtent ?? 0);

  if (scrollInfo.metrics.pixels >= maxScrollExtent && canLoad) {
    viewModel.loadPage?.call();

    return true;
  }

  return false;
}