【问题标题】:how to load new data from api using RefreshIndicator如何使用 RefreshIndicator 从 api 加载新数据
【发布时间】:2021-08-02 14:58:30
【问题描述】:

Future<void> _fetchPage(int pageKey) async {
    try {
      final newItems = await ApiServices.fetchArticleList(pageKey, _pageSize);

      final isLastPage = newItems.length < _pageSize;
      if (isLastPage) {
        _pagingController.appendLastPage(newItems);
      } else {
        final nextPageKey = pageKey + newItems.length;
        _pagingController.appendPage(newItems, nextPageKey);
      }
    } catch (error) {
      print(error);
      _pagingController.error = error;
    }
  }

所以,我有方法 _fetchPage() 最初从 api 加载数据,但刷新时新数据不会在屏幕中更新。任何帮助将不胜感激。

【问题讨论】:

  • 我尝试过使用 ``` Future _pullRefresh(BuildContext context) async { return await _fetchPage(0); } ```

标签: api flutter async-await flutter-layout flutter-dependencies


【解决方案1】:

将您的 onRefresh 回调更改为

onRefresh:()=>_fetchPage(0)

您的代码中的_fetchPage 方法需要一个参数,但您没有传递该值。因为onRefresh 回调没有任何值可以作为参数传递给函数

【讨论】:

  • 我已将 0 作为参数传递
  • 我的意思是使用完整的函数调用而不是方法引用。将任何有效键作为参数传递
  • 我按照你的建议做了,仍然没有更新 UI
  • 刷新时调用api吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-17
  • 1970-01-01
  • 1970-01-01
  • 2023-01-31
  • 1970-01-01
  • 2011-05-30
  • 2011-05-05
相关资源
最近更新 更多