【发布时间】:2021-10-10 18:43:25
【问题描述】:
首先,我是编码新手,所以请不要让我太难受。我整个星期天下午都在试图弄清楚如何完成这项工作。
基本上我想要 3 个滑块,但所有滑块的初始值都不同。我认为将代码放入构建器方法中并在小部件树中调用构建器方法 3 次以使我的代码更清洁是一个聪明的主意。
我的问题是当 setState 被调用时,它不会重建 Slider。
class _HomeScreenState extends State<HomeScreen> {
double pomodoro = 25;
double shortBreak = 5;
double longBreak = 20;
Widget _slider({
required String name,
required int divisions,
required double minValue,
required double maxValue,
required double duration,
}) {
return Slider(
min: minValue,
max: maxValue,
divisions: divisions,
value: duration,
onChanged: (newDuration) {
setState(() => duration = newDuration);
},
);
}
现在,如果我在 setState 中放入“番茄钟”而不是“持续时间”,那么一切正常并且滑块会重建,但这会使整个构建器方法过时,因为每次调用该方法时我都需要不同的初始值。我该如何完成这项工作?
【问题讨论】:
-
请澄清您的具体问题或提供更多详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。