我可以为小部件设置最短日期,但是,我不希望用户选择过去的时间。我该如何确保? CupertinoDatePicker。
边注:
如何使分钟轮中的“ 00”和“ 30”仅出现一次?以下是一些相关的代码片段。
final minDate = DateTime.now();
final difference = 30 - minDate.minute % 30;
final initialDate = minDate.add(Duration(minutes: difference));
Stack(
children: <Widget>[
CupertinoDatePicker(
minimumDate: minDate,
maximumDate: minDate.add(Duration(days: 7)),
initialDateTime: initialDate,
minuteInterval: 30,
onDateTimeChanged: (dateTime) {
// Do stuff
},
),
Align(
alignment: Alignment.topRight,
child: CupertinoButton(
child: Text("Done"),
onPressed: () {
Navigator.of(context).pop();
}),
),
],
),
最佳答案
虽然您不能限制用户默认选择的时间,但只能限制日期。您可以在onDateTimeChanged
块中添加验证代码,并防止这种情况发生。这不是一个很好的解决方法,但是它将确保您不花最少的精力来过去。
关于ios - 如何在Flutter中为CupertinoDatePicker小部件设置最短时间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59637951/