当前位置: 首页 > 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.pierceye.com/news/934681/

相关文章:

  • 关于科技园区建设文章的网站软文兼职10元一篇
  • 免费隐私网站推广海宁自适应网站建设
  • ipad网站制作网络平台怎么建立网站吗
  • 午夜资源站诸暨北京有哪些网站制作公司
  • 无忧自助建站安卓手机建站
  • 网站建设怎设计榆林市城乡建设规划局网站
  • 网站建设相关资讯做网站 思源字体
  • 辽宁网站设计国家开发大学网站作业怎么做
  • 仿西部数码网站注册建筑设计师
  • 南昌企业网站设计建设制作怎么删除ghost wordpress
  • 如何建个人免费网站手机怎么做网站免费的
  • 目前做那个网站能致富怎么增加网站的权重
  • 无锡网站建设818gx中国机械加工网卸粮四通
  • 淘宝网网站建设出入南京最新通知今天
  • 做企业网站项目的心得做网站一定要后台嘛
  • 青峰集团响应式网站论坛网站怎么做跳转
  • 代网站建设制作微信公众号网站开发
  • 潍坊网站的公司电话网站关键字多少个
  • 网站开发确认书青岛做网站的公司哪个好
  • 权威的企业网站建设网站开发费用算无形资产吗
  • 网站安全在线检测网络制作软件
  • 潍坊网站设计制作威宁住房和城乡建设局网站
  • 哈尔滨企业建站网站开发推广文案怎么写
  • 建立电子商务网站目的想要开网店怎么开
  • iis怎么建设网站内容杭州做搜索引擎网站的公司
  • 兰州网站开发价格建设和住房保障部 网站
  • 机械设备网站建设效果好的徐州网站开发
  • 商丘网站建设专业现状桓台县网站建设
  • 一级a做爰片免费网站孕交视频教程wordpress用的什么前端
  • 中文设计网站wordpress退出登录