当前,在我的flutter应用程序中实现默认的小部件CupertinoDatePicker。在这个日期选择器中,我希望用户不能选择今天之前的功能。用户应该只能选择将来的日期和今天的日期。
因此,我正确地传递了“ minimumDate:DateTime.now()” 属性,但是当CupertinoDatePicker打开时,它向我显示了今天的一个日期。我已经检查了“ DateTime.now()” 属性的值。它可以正确显示当前时间,但是从CupertinoDatePicker小部件中出现问题。
CupertinoDatePicker(
minimumDate: DateTime.now(),
minuteInterval: 1,
mode: CupertinoDatePickerMode.dateAndTime,
onDateTimeChanged: (DateTime dateTime) {
print("dateTime: ${dateTime}");
},
)
还应用了“ flutter clean”命令。仍然面临着同样的问题。
有人可以提出可行的解决方案吗?
谢谢。
答案 0 :(得分:1)
快速修复,
@override
Widget build(BuildContext context) {
var now = DateTime.now();
var today= new DateTime(now.year, now.month, now.day);
然后将today
传递到minimumDate
CupertinoDatePicker(
minimumDate: today,
minuteInterval: 1,
mode: CupertinoDatePickerMode.dateAndTime,
onDateTimeChanged: (DateTime dateTime) {
print("dateTime: ${dateTime}");
},
),
编辑
或者您可以使用@Leonard Arnold在注释中建议的以下代码
minimumDate: DateTime.now().subtract(Duration(days: 1)),
输出