Flutter 有两种状态控件:StatelessWidget、StatefulWidget,对于有可变状态控件的管理,官方文档是写了有3种模式:控件自己管理状态、交给父控件管理状态以及混合管理.本节就先只讲控件自身管理状态。
一个tip
输入'stl'可以自动生成StatelessWidget代码
class xx extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container();
}
}
输入'stf'可以自动生成StatefulWidget代码
class xx extends StatefulWidget {
@override
_State createState() => _State();
}
class _State extends State<> {
@override
Widget build(BuildContext context) {
return Container();
}
}
我们通过实现第一次创建项目时的demo来练习这个功能。
class _State extends State<StateManageDemo> {
int count = 1;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('StateManageDemo'),
backgroundColor: Colors.green,
),
body: Center(
child: Chip(label: Text('$count')),
),
floatingActionButton: FloatingActionButton(
onPressed: () {//点击事件方法响应
setState(() {//每次点击都需要更新状态,否则界面不会响应
});
count += 1;
print('$count');
if(count == 80){
count = 0;
}//if判断语句后面不用逗号或分号 ❓
},
child: Icon(Icons.add),
),
);
}
}
实现效果为:
图片.png
一个简单的计数器程序就实现啦!
我们还在点击事件响应里面添加了if 判断语句,😄
网友评论