loadMore method

void loadMore({
  1. int page = 1,
})

when user scroll to load more data into list

Implementation

void loadMore({int page = 1}) async {
  if (!_isLoading) {
    _isLoading = true;

    /// request from network
    final result = await _model!.request(page: page);

    datasource.addAll(result ?? []);

    if (result != null) {
      /// update current page value & notify to update UI (observable)
      currentPage.value = page;

      if (result.length > 0) {
        refresher.loadComplete();
      } else {
        refresher.loadNoData();
      }
    } else {
      refresher.loadFailed();
    }

    /// reset loading state
    _isLoading = false;
  }
}