我需要一个可重复的方法来传递多个变量(int)并对传递的变量调用 SetState 方法。
下面是一个示例,其中“value”被传递到 testItems Widget 中,并且在“BlueMinusButton”之上调用 SetState。
我有许多“值”,需要将其传递给其他“testItems”方法。但是,当我输入变量(作为值)时,不会调用 SetState 并且值不会更改。
任何帮助和/或替代方法都非常感谢。
谢谢
int value = 25;
Widget testItems(int value) {
return Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Row(
crossAxisAlignment:
CrossAxisAlignment.baseline,
textBaseline: TextBaseline.alphabetic,
children: [
Text(value.toString(),
style: kValues),
Text("g",
style: kDarkBlue),
],
),
Spacer(),
BlueMinusButton(
onTap: () {
setState(() {
value = value - 50;
});
if (value < 0) {
setState(() {
value = 0;
});
}
}),
],
);
}
首先,了解您的代码正在运行。 (它与主要计数器示例非常相似)
代码我曾经在dartpad.dev上测试过
1 值为 25
2 您触摸按钮
3 新值为-25
4 值减去 0 并设置为 0
5 您重新触摸按钮
6 值减去 0 并设置为 0
7 这里我们有一个无限循环...
使用小部件是更好的做法,不要使用返回小部件的函数,尤其是在处理状态时
关于管理状态的其他方法,您可以尝试不同的方法: