【发布时间】:2021-06-01 05:12:00
【问题描述】:
我正在尝试从 SecondWidget 设置 FirstWidget 中存在的变量值(数字,在下面的代码中)。并通知两个小部件,以便在两个小部件中更新数字。
class FirstWidget extends StatefulWidget {
@override
_FirstWidgetState createState() => _FirstWidgetState();
}
class _FirstWidgetState extends State<FirstWidget> {
int number = 0;
@override
Widget build(BuildContext context) {
return Column(
children: [
Text(
'$number',
),
SecondWidget(),
Text(
'$number',
)
],
);
}
}
class SecondWidget extends StatefulWidget {
@override
_SecondWidgetState createState() => _SecondWidgetState();
}
class _SecondWidgetState extends State<SecondWidget> {
@override
Widget build(BuildContext context) {
return TextButton(
child: Text('The number is $number. Press to increase the number'),
onPressed: () {
setState(() {
number++;
});
},
);
}
}
(我知道那个代码会出错,但主要的想法是给你我想要解决的问题)。
我希望它显示的输出:
在按下按钮之前 -
0
The number is 0. Press to increase the number
0
按下按钮后-
1
The number is 1. Press to increase the number
1
如果你能帮助解决这个问题,我会很高兴。
谢谢。
【问题讨论】:
标签: flutter dart widget setstate