首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在实现分页时在循环中调用notifyListeners

在实现分页时在循环中调用notifyListeners
EN

Stack Overflow用户
提问于 2021-01-02 01:19:25
回答 1查看 52关注 0票数 0

我使用的是一个带无限分页的提供者模式。问题是每当调用一个函数来获取整个小部件重建过程中的数据时。

代码语言:javascript
运行
复制
class Xyz extends StatelessWidget {
  Xyz({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    AlbumNewProvider ap = Provider.of<AlbumNewProvider>(context);

    ap.fetchMore();

    return Scaffold(
      body: ap.albumList.isNotEmpty
          ? ListView.builder(
              itemCount: ap.albumList.length,
              itemBuilder: (BuildContext context, int index) {
                if (ap.loading != LoadingState.loading && index > (ap.albumList.length * 0.9)) ap.fetchMore();
                return albumItem(context, ap.albumList[index]);
              },
            )
          : Center(child: Text('No record found')),
    );
  }
}

ap.fetchMore()

代码语言:javascript
运行
复制
Future<void> fetchMore() async {
  if (loading != LoadingState.loading) {
    loading = LoadingState.loading;
    var itemModel = await _service.fetchList(albumFetcher.currentPage);
    await albumList.addAll(itemModel.values);
    await itemModel.values.clear();
    itemModel.addCurrentPage();
    albumFetcher = itemModel;
  }
  loading = LoadingState.done;
  notifyListeners();
}

如何避免重新构建整个小部件,我正在尝试跳过StatefulWidget

EN

回答 1

Stack Overflow用户

发布于 2021-05-09 22:34:37

我错过了这个概念,整个“构建”函数在每次调用notifyListeners()时都会调用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65531906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档