当前位置: 首页 > news >正文

网站建设采购公告做简历有什么网站

网站建设采购公告,做简历有什么网站,图片网站开发,网站源码带采集前言 果然了解的越多#xff0c;越发现自己狗屁都不是。StatefulBuilder 和 Builder 之前真的不知道。还是在 对话框状态管理 中了解到了这两个东西。 简介 以下内容来自通义灵码 在Flutter中#xff0c;StatefulBuilder 和 Builder 都是用来动态构建 widget 树的组件越发现自己狗屁都不是。StatefulBuilder 和 Builder 之前真的不知道。还是在 对话框状态管理 中了解到了这两个东西。 简介 以下内容来自通义灵码 在Flutter中StatefulBuilder 和 Builder 都是用来动态构建 widget 树的组件但它们在处理状态管理和构建上下文方面有所不同 StatefulBuilder StatefulBuilder 是一个特殊的 widget主要用于那些本身不是 StatefulWidget 但却需要在构建过程中更改和反应状态变化的场景。它接收一个 builder 函数作为参数这个函数会在状态更改时被调用并重新构建其内部 widget 树。使用 StatefulBuilder 时你可以直接在其 builder 方法内调用提供的 _setState 参数来更新局部状态并立即触发内部 widget 树的重建而无需刷新整个页面或父级 StatefulWidget 的状态。 StatefulBuilder(builder: (BuildContext context, void Function(void Function()) setState) {bool isChecked ...; // 可变状态return Checkbox(value: isChecked,onChanged: (bool newValue) {setState(() {isChecked newValue;});},);}, );Builder Builder widget 不具备自身的状态管理能力但它主要用于构建作用域内的BuildContext特别是在涉及到InheritedWidget、Theme、Navigator等需要访问新构建环境的场景下。Builder 主要用于将现有的 build 方法内部的上下文传递给其内部的 builder 函数这样就可以在新的上下文中构建子 widget。这有助于隔离环境影响尤其是在处理多个嵌套的 Consumer, StreamBuilder 或者 InheritedWidget 时。 Builder(builder: (BuildContext context) {// 这里可以使用新的BuildContext来构建子widgetreturn Container(...);}, )简而言之 StatefulBuilder 允许你在没有独立 StatefulWidget 的情况下在 widget 树的任何位置动态地更新状态。Builder 则是为了获取或创建一个新的构建上下文以便于在不同的环境中正确构建和访问 widget。它本身不涉及状态管理更多关注的是构建环境的控制与传递。 案例 上面那篇文章里有对应的例子。这里也只是对其记录和学习。 Futurebool? showDeleteDialog() {// 记录是否选中bool isChecked true;return showDialogbool(context: context,builder: (context) {return AlertDialog(title: const Text(提示),content: Column(crossAxisAlignment: CrossAxisAlignment.start,// 高度设置为最小mainAxisSize: MainAxisSize.min,children: [const Text(是否删除),Row(children: [const Text(同时删除子目录),Checkbox(value: isChecked,onChanged: (bool? value) {isChecked value!;})],)],),actions: [TextButton(onPressed: () {Navigator.pop(context, false);},child: const Text(取消)),TextButton(onPressed: () {// 返回选中状态Navigator.pop(context, isChecked);},child: const Text(确定)),],);});}可以看出UI没有被更新文章中也给出了解释 对话框也是通过路由的方式来实现的那么上面的代码实际上就等同于企图在父路由中调用setState来让子路由更新这显然是不行的简尔言之根本原因就是context不对。 解决方法那就是使用 StatefulBuilder 和 Builder 获取到独立的context Row(children: [const Text(同时删除子目录),StatefulBuilder(builder: (context, setState) {return Checkbox(value: isChecked,onChanged: (bool? value) {setState(() {isChecked value!;});});})], )Row(children: [const Text(同时删除子目录),Builder(builder: (context) {return Checkbox(value: isChecked,onChanged: (bool? value) {(context as Element).markNeedsBuild();isChecked value ?? false;});})],)StatefulBuilder中会提供一个setState用来更新局部状态触发UI更新。 Builder 则是为了获取或创建一个新的构建上下文调用Element的markNeedsBuild()方法来进行局部状态更新。
http://www.zqtcl.cn/news/992897/

相关文章:

  • 免费的企业网站cms纯文字logo在线制作
  • 深圳电器公司官网网站建设 网站优化
  • 大连 网站建设昆明建设网站哪家好
  • 网站首页设计及运行效果网站建设与管理任务分工
  • 自己建设论坛网站家用电脑搭建服务器
  • 做网站上海公司企业网站内页
  • 手机网站seo山东网站建设网
  • 溧阳 招网站开发wordpress 占内存
  • 网站seo 工具做网站建设公司排名
  • 丹阳网站建设企业建设网站管理制度
  • 怎样审请网站集成装修全屋定制
  • 好看响应式网站模板下载可以访问的国外网站
  • 做电脑网站宽度网站建立安全连接失败
  • 西安网站设计哪家公司好my12777域名查询
  • 西宁网站建设排名网站设计对网站建设有哪些意义?
  • 北京平台网站建设价位怎样做网站卖网站
  • 网站建设与维护试题a卷建设银行官方网站买五粮液酒
  • 安装网站源码做文艺文创产品的网站
  • 软件公司网站设计与制作电子商务成功网站的案例
  • 购物车功能网站怎么做的建设众筹类网站
  • 哪些网站做的美爱站工具网
  • 对网站开发的理解源码资源网
  • 有哪些做兼职的网站网站建设的项目计划书
  • 如何做行业网站江苏城乡建设部网站首页
  • 淘客网站怎么做 知乎wordpress 删除插件
  • 深圳市住房和建设局人事调整公司网站seo怎么做
  • 小型影视网站源码好看的个人博客
  • 哈密建设厅网站西安培训机构
  • 网站建设公众号小程序开发密云网站开发
  • 南宁网站开发制作网站数据库分离怎么做