StatefulElement有状态组件
在flutter中自定义组件其实就是一个类,这个类继承StatelessElement或者StatefulElement
statefulStatelessElements是静态组件
StatefulElement是动态组件
通俗的来讲,如果需要组件内容进行改变的话,就使用StatefulElement组件
Flutter将StatefulWidget设计成了两个类:
也就是你创建StatefulWidget时必须创建两个类:
- 一个类继承自StatefulWidget,作为Widget树的一部分;
- 一个类继承自State,用于记录StatefulWidget会变化的状态,并且根据状态的变化,构建出新的Widget;
其他组件和无状态的组件一样
代码示例
//StatefulElement有状态组件
class fulwidget extends StatefulWidget {
State<StatefulWidget> createState() {
// TODO: implement createState
return Mystate();
}
}
class Mystate extends State<fulwidget> {
int a = 0;
Widget build(BuildContext context) {
// TODO: implement build
return Center(
child: Column(
children: [
Text(
"$a",
style: TextStyle(fontSize: 30),
),
const SizedBox(
height: 30,
),
IconButton(onPressed: () {
setState(() { //设置内容变化
a++;
});
}, icon: Icon(Icons.add_circle_outline))
],
),
);
}
}
效果