Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在实现分页时在循环中调用notifyListeners

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
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 14:34:37

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

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

https://stackoverflow.com/questions/65531906

复制
相关文章
SwiftU:在循环中创建视图
通常在一个循环中创建多个SwiftUI视图。例如,我们可能想要遍历一系列名称,并让每个名称成为文本视图,或者遍历一系列菜单项,并将每个名称显示为图像。
韦弦zhy
2020/03/20
2.2K0
Javascript闭包实现Ajax在for循环中正常运行
假设我们现在需要在一个for循环中通过异步的方式向一个后端php程序请求数据,常规的写法Ajax是无法正常工作的,网上也有不少的解决方案,这里提供一个闭包方案,详细如下:
魏杰
2022/12/23
6250
Dart:在循环中使用 Async 和 Await
在 Dart(以及 Flutter)中,您可以使用Future.forEach在循环中顺序执行同步操作。下面的示例程序将打印从 1 到 10 的数字。每次打印完一个数字,它会等待 3 秒,然后再打印下一个数字。
徐建国
2022/04/27
1.7K0
Dart:在循环中使用 Async 和 Await
Java 如何优雅的在循环中删除元素
如果集合中的元素唯一,也就是说只删除集合中符合条件的一个元素,以下用法也是没问题的
鱼找水需要时间
2023/02/16
1.4K0
tree组件在for循环中无法使用getCheckedNodes这个方法
原理: 通过鼠标点击拿到选中的id,然后判断数组中存不存在这个id,有就删除,没有就添加这个id;
用户4344670
2019/08/28
3.5K0
tree组件在for循环中无法使用getCheckedNodes这个方法
Linux日志轮循实现(shell)
在Linux系统中,日志的使用非常频繁,那么对日志就需要一定策略的管理,包括存放目录的设计,log文件命名规则,历史log文件的存放,log目录的容量限制,另外还有日志轮循。
jianghaibobo
2019/08/02
1.7K0
CA2014:请勿在循环中使用 stackalloc
C# stackalloc 表达式从当前堆栈帧分配内存,并且在当前方法调用返回之前,不能释放内存。 如果在循环中使用 stackalloc,则可能会由于耗尽堆栈内存而导致堆栈溢出。
用户4268038
2022/02/20
4580
在Feign中使用Hystrix实现服务调用容错
只开启"服务中心",访问http://localhost:50007/hello,会提示错误。当把"服务提供者"也开启则会返回正确的数据。
星哥玩云
2022/09/15
2150
在 Node 中调用 Python
在 Node 中如何调用 Python 的方法?通常可以通过 REST 接口或者 RPC 的方式来完成,但是某些时候我们仅仅只需要调用对方几个很简单的方法,这种情况下去构建一个提供 REST 接口的服务或者两者对接实现 RPC 调用,这种做法的成本显然有点高。本文将会介绍一种更轻量的调用方式。
凌虚
2020/07/17
5.7K0
在Java中调用Python
在微服务架构大行其道的今天,对于将程序进行嵌套调用的做法其实并不可取,甚至显得有些愚蠢。当然,之所以要面对这个问题,或许是因为一些历史原因,或者仅仅是为了简单。恰好我在项目中就遇到了这个问题,需要在Java程序中调用Python程序。关于在Java中调用Python程序的实现,根据不同的用途可以使用多种不同的方法,在这里就将在Java中调用Python程序的方式做一个总结。
编程随笔
2019/09/11
5.1K0
在Java中调用Python
在Android中调用WebService
某些情况下我们可能需要与Mysql或者Oracle数据库进行数据交互,有些朋友的第一反应就是直接在Android中加载驱动然后进行数据的增删改查。我个人不推荐这种做法,一是手机毕竟不是电脑,操作大量数据费时费电;二是流量贵如金那。我个人比较推荐的做法是使用Java或PHP等开发接口或者编写WebService进行数据库的增删该查,然后Android调用接口或者WebService进行数据的交互。本文就给大家讲解在Android中如何调用远程服务器端提供的WebService。 既然是调用WebService
全栈程序员站长
2022/07/05
1.9K0
在Android中调用WebService
某些情况下我们可能需要与Mysql或者Oracle数据库进行数据交互,有些朋友的第一反应就是直接在Android中加载驱动然后进行数据的增删改查。我个人不推荐这种做法,一是手机毕竟不是电脑,操作大量数据费时费电;二是流量贵如金那。我个人比较推荐的做法是使用Java或PHP等开发接口或者编写WebService进行数据库的增删该查,然后Android调用接口或者WebService进行数据的交互。本文就给大家讲解在Android中如何调用远程服务器端提供的WebService。 既然是调用WebService
欢醉
2018/01/22
2.4K0
在Compose中使用Paging分页库
大约在两年前,写了一篇Jetpack 系列之Paging3,看这一篇就够了~,本篇文章主要来看,在Compose中如何使用Paging3,这里不得不说一句,在xml中使用Paging3和在Compose中使用仅有UI层代码不同,所以之前定义的接口层、仓库层直接复用直接的代码即可。
黄林晴
2022/05/11
1.8K0
在Compose中使用Paging分页库
CPU 摸鱼时,在干嘛?
假设你正在用计算机浏览网页,当网页加载完成后你开始阅读,此时你没有移动鼠标,没有敲击键盘,也没有网络通信,那么你的计算机此时在干嘛?
小林coding
2021/03/30
7730
CPU 摸鱼时,在干嘛?
在vue和element-ui的table中实现分页复选
后台管理系统中,使用表格展示数据时,可能的需求是多项选择然后进行批量操作,也期望能翻页多选。
Careteen
2022/02/14
1.1K0
在定义adt时_ScriptableObject
Mutators 变值器(改变对象属性的方法) 通常范围void,如果返回void,则必然意味着它改变了某些对象的内部状态,也可能范围非空类型(如容器类的put、add方法)
全栈程序员站长
2022/10/02
2960
点击加载更多

相似问题

ArrayList of ActionListeners在notifyListeners()调用时清除

10

当我们在notifyListeners中使用ChangeNotifier时?

11

在异步调用中实现分页

11

触发多个notifyListeners调用

24

在deactivate()中调用notifyListeners()时会导致错误-颤动

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文