showDatePicker static method

void showDatePicker({
  1. required BuildContext context,
  2. required void onConfirm(
    1. DateTime?,
    2. String?
    ),
  3. bool isDismissible = true,
  4. bool enableDrag = true,
  5. double? height,
  6. Widget? title,
  7. String? titleText,
  8. CupertinoDatePickerMode mode = CupertinoDatePickerMode.dateAndTime,
  9. DateTime? value,
  10. DateTime? minimumDate,
  11. DateTime? maximumDate,
  12. int? minimumYear,
  13. int? maximumYear,
  14. int minuteInterval = 1,
  15. bool use24hFormat = true,
  16. DatePickerDateOrder? dateOrder,
  17. Color? backgroundColor,
  18. bool showDayOfWeek = false,
  19. double? itemExtent,
})

显示日期选择器

Implementation

static void showDatePicker({
  required BuildContext context,
  required void Function(DateTime?, String?) onConfirm,
  // -------------------------------------------------------------------- > Bottom Sheet
  bool isDismissible = true,
  bool enableDrag = true,
  // -------------------------------------------------------------------- > Custom
  double? height,
  Widget? title,
  String? titleText,
  // -------------------------------------------------------------------- > DatePicker
  CupertinoDatePickerMode mode = CupertinoDatePickerMode.dateAndTime,
  DateTime? value,
  DateTime? minimumDate,
  DateTime? maximumDate,
  int? minimumYear,
  int? maximumYear,
  int minuteInterval = 1,
  bool use24hFormat = true,
  DatePickerDateOrder? dateOrder,
  Color? backgroundColor,
  bool showDayOfWeek = false,
  double? itemExtent,
}) {
  CustomBottomSheet.showDefault(
    context: context,
    isDismissible: isDismissible,
    builder: (BuildContext context) {
      return Container(
        decoration: BoxDecoration(
          color: Theme.of(context).colorScheme.surface,
          borderRadius: BorderRadius.circular(AppTheme.radius),
        ),
        height: height ?? context.height * .5,
        child: InternalDatePicker(
          mode: mode,
          title: title,
          titleText: titleText,
          value: value,
          minimumDate: minimumDate,
          maximumDate: maximumDate,
          minimumYear: minimumYear,
          maximumYear: maximumYear,
          minuteInterval: minuteInterval,
          dateOrder: dateOrder,
          backgroundColor: backgroundColor,
          showDayOfWeek: showDayOfWeek,
          onConfirm: (v) {
            onConfirm(v, normalizeDateTimeValue(mode, v));
          },
        ),
      );
    },
  );
}