Flutter 设置状态不更新
我就是搞不清楚在颤振中这种设置状态的方法有什么问题。一切似乎都很好。但文本不会在按下时更新Flutter 设置状态不更新,flutter,setstate,Flutter,Setstate,我就是搞不清楚在颤振中这种设置状态的方法有什么问题。一切似乎都很好。但文本不会在按下时更新 class NetBalanceWidget extends StatefulWidget { @override _NetBalanceWidgetState createState() => _NetBalanceWidgetState(); } class _NetBalanceWidgetState extends State<NetBalanceWidget>
class NetBalanceWidget extends StatefulWidget {
@override
_NetBalanceWidgetState createState() => _NetBalanceWidgetState();
}
class _NetBalanceWidgetState extends State<NetBalanceWidget> {
@override
Widget build(BuildContext context) {
String text = 'NetBalance-Amount';
return RawMaterialButton(
onPressed: () {
setState(() {
text = 'It works';
});
},
child: Container(
height: 80.0,
child: Center(
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Text(text),
Text('0.00'),
],
),
),
),
);
}
}
类NetBalanceWidget扩展StatefulWidget{
@凌驾
_NetBalanceWidgetState createState()=>NetBalanceWidgetState();
}
类_NetBalanceWidgetState扩展状态{
@凌驾
小部件构建(构建上下文){
字符串文本='净余额金额';
返回原材料按钮(
已按下:(){
设置状态(){
text=‘它有效’;
});
},
子:容器(
身高:80.0,
儿童:中心(
孩子:排(
mainAxisAlignment:mainAxisAlignment.spaceAround,
儿童:[
文本(文本),
文本('0.00'),
],
),
),
),
);
}
}
在build
方法中将文本作为局部变量setState
实际上只是再次调用build
,并将text
的值重置回其默认值“NetBalance Amount”
将其声明移到生成之外
:
class _NetBalanceWidgetState extends State<NetBalanceWidget> {
String text = 'NetBalance-Amount';
@override
Widget build(BuildContext context) {
return RawMaterialButton(
onPressed: () {
setState(() {
text = 'It works';
});
},
child: Container(
height: 80.0,
child: Center(
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Text(text),
Text('0.00'),
],
),
),
),
);
}
}
class\u NetBalanceWidgetState扩展状态{
字符串文本='净余额金额';
@凌驾
小部件构建(构建上下文){
返回原材料按钮(
已按下:(){
设置状态(){
text=‘它有效’;
});
},
子:容器(
身高:80.0,
儿童:中心(
孩子:排(
mainAxisAlignment:mainAxisAlignment.spaceAround,
儿童:[
文本(文本),
文本('0.00'),
],
),
),
),
);
}
}
在build
方法中将文本作为局部变量setState
实际上只是再次调用build
,并将text
的值重置回其默认值“NetBalance Amount”
将其声明移到生成之外
:
class _NetBalanceWidgetState extends State<NetBalanceWidget> {
String text = 'NetBalance-Amount';
@override
Widget build(BuildContext context) {
return RawMaterialButton(
onPressed: () {
setState(() {
text = 'It works';
});
},
child: Container(
height: 80.0,
child: Center(
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Text(text),
Text('0.00'),
],
),
),
),
);
}
}
class\u NetBalanceWidgetState扩展状态{
字符串文本='净余额金额';
@凌驾
小部件构建(构建上下文){
返回原材料按钮(
已按下:(){
设置状态(){
text=‘它有效’;
});
},
子:容器(
身高:80.0,
儿童:中心(
孩子:排(
mainAxisAlignment:mainAxisAlignment.spaceAround,
儿童:[
文本(文本),
文本('0.00'),
],
),
),
),
);
}
}