我可以为小部件设置最短日期,但是,我不希望用户选择过去的时间。我该如何确保? 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/

10-11 02:38