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

php移动网站开发商城网站建设

php移动网站开发,商城网站建设,山东银汇建设集团网站,电子商务系统的概念文章目录 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.yidumall.com/news/21391.html

相关文章:

  • 做网站维护需要学什么短视频培训要多少学费
  • 做网站文字编辑工作好不好steam交易链接可以随便给别人吗
  • 哈尔滨市建设安全网站真正免费建站网站
  • 有一个做搞笑英语视频网站seo查询
  • 黎城网站建设百度搜索引擎关键词
  • 做网站 卖会员网络优化工程师前景
  • 企业网站服务器多少钱百度推广竞价排名
  • 新公司注册流程及费用合肥网站seo推广
  • 郑州哪些公司做网站建设网站排名查询
  • 武汉建设网站企业搜索引擎优化的作用
  • 分析学生做网站外链生成
  • 吕梁做网站公司网上广告宣传怎么做
  • 网站服务器租用阿里云一年多少钱啊百度统计官网
  • 顺德中小企业网站建设代写新闻稿
  • 建设学校网站的需求分析免费模式营销案例
  • 网站套餐网页品牌营销的概念
  • 企业品牌推广网站谷歌seo排名优化
  • 如何选择网站营销公司qq刷赞网站推广全网
  • 网站内容管理软件业务推广方式
  • 网站修改建议互联网营销案例
  • 怎么看一个网站什么语言做的万网域名购买
  • 英文网站建设维护seo com
  • 做网站需准备些什么手机网站快速建站
  • 外国网站翻墙怎么做厦门seo外包平台
  • 关注网站建设免费的网页设计成品下载
  • 佛山网站建设明细qq引流推广软件哪个好
  • 想做一个网站怎么做百度推广开户怎么开
  • 简单房地产网站在哪seoul什么意思
  • 大连 网站建设制作网站建设入门
  • 做全景图二维码的网站百度客服电话24小时人工服务热线