loadMore method

  1. @override
Future<void> loadMore()
override

Implementation

@override
Future<void> loadMore() async {
  if (!_state.hasMore) return;

  _state.updateState(isLoadingMore: true);
  _state.clearError();
  notifyListeners();
  try {
    final response = await loadData();
    _state.addData(response.data);
    _state.updateState(
      pageNum: _state.pageNum + 1,
      hasMore: _hasMoreData(response),
      isLoadingMore: false,
    );
    refreshController.loadComplete();
  } catch (e) {
    _state.updateState(
      isLoadingMore: false,
      error: e.toString(),
    );
    refreshController.loadFailed();
  } finally {
    notifyListeners();
  }
}