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

长沙网站建设要多少钱网站建设自我总结

长沙网站建设要多少钱,网站建设自我总结,网站建设教程培训,wordpress 评论美化文章目录 1.flutter widget分类2. 代理组件又分为3. 状态 state 数据4. 刷新 数据变化5. code 1.flutter widget分类 组合渲染代理 2. 代理组件又分为 Positioned向父组件传递数据InheritedWidget向子组件传递数据 3. 状态 state 数据 状态就是用到了向子组件传递数据&#xff…

文章目录

        • 1.flutter widget分类
        • 2. 代理组件又分为
        • 3. 状态 state 数据
        • 4. 刷新 数据变化
        • 5. code

1.flutter widget分类
  1. 组合
  2. 渲染
  3. 代理
2. 代理组件又分为
  1. Positioned向父组件传递数据
  2. InheritedWidget向子组件传递数据
3. 状态 state 数据

状态就是用到了向子组件传递数据,并且需要刷新的时候刷新组件

4. 刷新 数据变化
  1. 获取并在改变的时候会导致刷新
    dependOnInheritedWidgetOfExactType
  2. 只获取不会因为数据变化导致刷新
    getInheritedWidgetOfExactType
5. code
import 'package:flutter/material.dart';//material cupertino
//widget
//rendering
//foundation 动画 事件 painting
//flutter框架层
//engine
//embedded嵌入式main() {runApp(const MaterialApp(home: StateStudyPage(),));
}class StateStudyPage extends StatefulWidget {const StateStudyPage({super.key});State<StateStudyPage> createState() => _StateStudyPageState();
}class _StateStudyPageState extends State<StateStudyPage> {int aa = 0;int dt1 = 0;int dt2 = 0;Widget build(BuildContext context) {return Scaffold(appBar: AppBar(),body: ShareData2Widget(dt1: dt1,dt2: dt2,child: Column(children: [Text("parent=$aa"),TextButton(onPressed: () {setState(() {aa++;});},child: Text("刷新当前state")),TextButton(onPressed: () {setState(() {dt1++;});},child: Text("刷新当前state dt1=$dt1")),TextButton(onPressed: () {setState(() {dt2++;});},child: Text("刷新当前state dt2=$dt2")),StateStudyChildPage(aa: aa,),],),),);}
}class StateStudyChildPage extends StatefulWidget {final int aa;const StateStudyChildPage({super.key, required this.aa});State<StateStudyChildPage> createState() => _StateStudyChildPageState();
}class _StateStudyChildPageState extends State<StateStudyChildPage> {int a = 0;///由于父widget setState 导致该方法调用void didUpdateWidget(covariant StateStudyChildPage oldWidget) {super.didUpdateWidget(oldWidget);print("更新widget");}///由于用到了共享数据,并在数据变化的时候调用了父组件的setState,导致该方法调用void didChangeDependencies() {super.didChangeDependencies();print("依赖变化");}Widget build(BuildContext context) {return Column(children: [Text("child=$a"),Text("child==aa=${widget.aa}"),Text("child==cc=${ShareData2Widget.of(context, "data")?.dt1}"),TextButton(onPressed: () {setState(() {a++;});},child: Text("刷新当前state"))],);}
}///整体数据刷新
class ShareDataWidget extends InheritedWidget {const ShareDataWidget({super.key,required this.data,required super.child,});final int data; //需要在子树中共享的数据,保存点击次数//定义一个便捷方法,方便子树中的widget获取共享数据static ShareDataWidget? of(BuildContext context) {return context.dependOnInheritedWidgetOfExactType<ShareDataWidget>();}//该回调决定当data发生变化时,是否通知子树中依赖data的Widget重新buildbool updateShouldNotify(ShareDataWidget oldWidget) {return oldWidget.data != data;}
}///局部数据导致刷新
class ShareData2Widget extends InheritedModel<String> {const ShareData2Widget({super.key,required this.dt2,required this.dt1,required super.child,});final int dt1;final int dt2;//定义一个便捷方法,方便子树中的widget获取共享数据//type就是根据type来判断是否需要刷新组件static ShareData2Widget? of(BuildContext context, String type) {return context.dependOnInheritedWidgetOfExactType<ShareData2Widget>(aspect: type);}//该回调决定当data发生变化时,是否通知子树中依赖data的Widget重新buildbool updateShouldNotify(ShareData2Widget oldWidget) {print("oldWidget.dt1 != dt1=${oldWidget.dt1 != dt1}");return oldWidget.dt1 != dt1 || oldWidget.dt2 != dt2;}bool updateShouldNotifyDependent(covariant ShareData2Widget oldWidget, Set<String> dependencies) {return dependencies.contains("data") && oldWidget.dt1 != dt1 ||dependencies.contains("data2") && oldWidget.dt2 != dt2;}
}
http://www.yayakq.cn/news/489246/

相关文章:

  • 巩义网站推广怎么做互联网保险的运营模式
  • 彩票网站链接怎么做东莞市建设管理局
  • 湖南监理建设协会网站网站设计工作流程
  • 如何免费建站网站策划工资一般多少
  • 建设银行手机银行官方网站下载安装佛山制作网站公司推荐
  • 重庆找做墩子网站音乐接单推广app平台
  • 长春站建了多少年大千设计装饰有限公司
  • 腾讯云建站平台免费自己做网站软件
  • 郑州营销型网站建设哪家好中企动力做网站价格
  • 网站如何屏蔽ip段扬州网络推广公司
  • 东莞百度网站排名优化网站建设5iec
  • 中国建设招聘信息网站免费图片在线生成
  • 电子商务企业网站建设发展论文网站服务器租用有什么好
  • 吉安网站建设优化服务网站基础模板
  • 郑州网站关键瀑布流资源网站模板
  • node框架做网站智能物联网综合管理平台
  • 奥特蛋的做网站营销传播方式有哪些
  • 木地板企业网站模版招商网站建设
  • 在深圳做it的要做网站网站吗用wordpress写网页
  • 在哪个网站有兼职做网页设计网站费用
  • 一件代发48个货源网站永州城乡建设中等职业技术学校网站
  • 商业网站建设规划范文直播软件视频软件
  • 临沂网站制作计划厦门做商城网站
  • 网站建设cach目录自己做装修图网站
  • 吴忠市建设局网站做任务推广网站
  • 网站备案 加急精美微信小程序模板
  • 湖州高端网站建设asp 女性 美容 知识 网站 源码
  • wordpress升级数据库电子商务seo优化
  • 我网站建设网站建设费用IP
  • 网站空间有免费的吗郑州通告最新