一、Flutter 中自定义有状态组件

在 Flutter 中自定义组件其实就是一个类,这个类需要继承 StatelessWidget/StatefulWidget。
StatelessWidget 是无状态组件,状态不可变的 widget
StatefulWidget 是有状态组件,持有的状态可能在 widget 生命周期改变。通俗的讲:如果我们想改变页面中的数据的话这个时候就需要用到 StatefulWidget
 
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
//Flutter2.2.0 之后需要注意把 Key 改为可空类型 {Key? key} 表示 key 为可空类型
const MyApp({Key? key}) : super(key: key); @override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('有状态的组件')),
body: HomePage(),
));
}
} class HomePage extends StatefulWidget {
//Flutter2.2.0 之后需要注意把 Key 改为可空类型 {Key? key} 表示 key 为可空类型
HomePage({Key? key}) : super(key: key); _HomePageState createState() => _HomePageState();
} class _HomePageState extends State<HomePage> {
int count = 0; @override
Widget build(BuildContext context) {
return Container(
child: Column(
children: <Widget>[
Chip(label: Text("${this.count}")),
RaisedButton(
child: Text('增加'),
onPressed: () {
// print(this.count);
setState(() {
this.count++;
});
},
)
],
));
}
}

最新文章

  1. iOS用户信息单例的创建
  2. android editText 监听事件
  3. 何必苦等VS2015?来看看VS2013下实现移动端的跨平台开发
  4. Linux socket多进程服务器框架二
  5. MVC4+WebApi+Redis Session共享练习(上)
  6. Android || IOS录制mp3语音文件方法
  7. URAL 1137 Bus Routes(欧拉回路路径)
  8. js中arguments,caller,callee,apply的用法小结
  9. 【Unity3D】生成工程报错解决—UnityEditor.HostView:OnGUI() Error building Player: Couldn&#39;t build player because of unsupported data on target platform.
  10. gitphp日期乱码解决方案
  11. GeoServer基础教程(一):环境搭建篇
  12. C字符串总结+字符串库实现(增,改,删,查):
  13. 将markdown格式转化为bootstrap风格html
  14. Nginx将项目配置在子目录
  15. STAR法则的感想
  16. 网页 cookie
  17. 学习pthreads,使用属性对象创建结合线程和分离线程
  18. ajax-------封装
  19. Android开发:修改eclipse里的Android虚拟机路径
  20. Web应用启动时,后台自动启动一个线程(转)

热门文章

  1. Java学习笔记(二)java流程控制
  2. mybatis全局配置:下划线转驼峰
  3. Word13 《经费联审结算单》模板office真题
  4. 尺取法 C - Vasya and String CodeForces - 676C
  5. 基于AD9361的双收双发射频FMC子卡
  6. 使用open打开子页面时,父页面关闭子页面操作
  7. git---全局设置用户名、密码、邮箱
  8. Django的反向解析
  9. Lua中创建新的文件夹
  10. ES使用