码迷,mamicode.com
首页 > 其他好文 > 详细

9-5创建组件,使用组件

时间:2020-01-17 20:46:35      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:nal   required   方法   区域   就是   nav   dna   创建   contain   

button就可以是一个组件。
组件也可以大到页面的一个区域。flutter里面组件是由widget组成的
创建widget的包
技术图片
技术图片
组件继承stateless还是Stateful。根据组件有没有需要交互的部分

比如这里就是用来纯展示的
技术图片

之类的搜索栏有交互的部分。所以这种的就需要stateful
技术图片

继承Stateless必须重写build方法
技术图片
传入的数据定义为GridNavModel,然后创建构造方法。
技术图片
表示我们的参数是必须的。如果不用@required的话 那么参数就不是必须的。
技术图片
例如给参数加默认值,就可以这么去写
技术图片

为什么属性必须用final来修饰了

这两个属性都用final标识了
技术图片
如果这里我们不用final来标识
技术图片
这个时候底部有个报错。上面会有提示。
技术图片

因为我们的组件是Stateless的。StatelesWidget又继承了Widget
技术图片
wdget上面有一个注解,这个注解告诉我们widget以及它的组件都是不可变的。
技术图片
所以说它的子类里面,成员变量必须是final类型的。这就是组件里面参数必须要用final修饰的原因。
技术图片

重写build方法

技术图片

如果我们的类继承的是Stateful的话 还需为我们的组件设置state的状态类。
技术图片
技术图片

技术图片

初始化好了
技术图片

调用组件

首先导入包
技术图片

把组件放在两个Container之间
技术图片
组件获取到传递过来的参数
技术图片
技术图片
显示了jack
技术图片

把组件改成StateLess
技术图片

技术图片

技术图片
不传name显示xiaoming
技术图片

回顾

技术图片

 

结束

 

9-5创建组件,使用组件

标签:nal   required   方法   区域   就是   nav   dna   创建   contain   

原文地址:https://www.cnblogs.com/wangjunwei/p/12207229.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!