loadMore method
上拉加载更多
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);
}
}
}