我的flutter应用程序中有一个时间选择器,我们希望在单击“确定”后将用户发送到其他屏幕。我没有看到时间选择器的“ onconfirm”选项。如何实现的?
此处提供代码:
Future<TimeOfDay> _selectTime(BuildContext context) async {
final TimeOfDay picked = await showTimePicker(
context: context,
initialTime: _time,
);
if (picked != null && picked != _time) {
setState(() {
_time = picked;
_clicked = true;
});
}
return picked;
}
答案 0 :(得分:0)
一旦您检查了picked
是!null
和setState()
时间的条件,就可以在if
代码内直接导航到其他屏幕。下面的示例工作代码:
Future _showTimePicker(BuildContext context) async {
TimeOfDay timeOfDay =
await showTimePicker(context: context, initialTime: TimeOfDay.now());
if (timeOfDay != null) {
Navigator.push(context, MaterialPageRoute(builder: (context) => NextScreen()));
}
}
您可能只需要根据当前代码进行修改,但是应该在设置状态之后进行。然后,一旦点击OK
,您将被导航到其他屏幕。
希望有帮助。