loadMore method

Future<void> loadMore({
  1. bool? globalRefresh,
})

上拉加载更多

Implementation

Future<void> loadMore({bool? globalRefresh}) async {
//    print('------> current: $_currentPageNum  total: $_totalPageNum');
  _activeGlobalRefresh = globalRefresh ?? rootRefresh;
  if (_currentPageNum >= _totalPageNum) {
    finishLoad(_refreshController, success: true, noMore: true);
  } else {
    var cPage = ++_currentPageNum;
    //debugPrint('ViewStateRefreshListViewModel.loadMore page: $currentPage');
    try {
      var data = await _httpOrData(true, cPage, defaultOfParams);
      if (_checkData(true, data)) {
        _currentPageNum--;
        finishLoad(_refreshController, success: true, noMore: true);
      } else {
        finishLoad(_refreshController,
            success: true, noMore: _currentPageNum >= _totalPageNum);
        notifyListeners();
      }
    } catch (e, s) {
      _currentPageNum--;
      finishLoad(_refreshController, success: false);
      resetLoadState(_refreshController);
      debugPrint('error--->\n$e');
      debugPrint('stack--->\n$s');
    } finally {
      resetRefreshState(_refreshController);
    }
  }
}