我希望用户在单击日期选择器时只选择每月的1号。我可以使用selectableDayPredicate显示日期选择器,使其仅在当前日期为1号时选择日期,如果当前日期不是该月的1号,则日期选择器不会打开。我希望日期选择器打开,即使当前日期不是该月的第一天,所有其他日期应被禁用,并可以选择不同月份的第一天。
下面是代码:
Future<void> _selectDate(BuildContext context) async {
final DateTime? picked = await showDatePicker(
context: context,
initialDate: selectedDate,
firstDate: DateTime(2015, 8),
lastDate: DateTime(2101),
selectableDayPredicate: (day) => day.day == 1 ? true : false,
);
}
2条答案
按热度按时间bd1hkmkf1#
下面是您需要的代码:
您应该将initialDate初始化为每个月的第一天,因此它选择您所在月份的第一天。您的条件以这种方式工作,因为您确信您没有禁用已初始化的第一天。
快乐编码...
qlckcl4x2#
我把初始日期改到了这个月的1号。它起作用了