showDateRangePickerDialog function

Future<DateRange?> showDateRangePickerDialog({
  1. required String cancelText,
  2. required String confirmText,
  3. required double outHeight,
  4. required double inerHeight,
  5. required BuildContext context,
  6. required DateRangerPickerWidgetBuilder builder,
  7. Color barrierColor = Colors.transparent,
  8. Widget footerBuilder({
    1. DateRange? selectedDateRange,
    })?,
  9. Offset? offset,
  10. required ValueChanged<DateRange?>? onDateRangeSelected,
})

A function to show the dateRange picker dialog.

  • context - The context of the dialog.
  • builder - A builder to construct the date range picker widget.
  • barrierColor - The color of the barrier.
  • footerBuilder - A builder to construct the footer widget of the dialog.
  • offset - The offset of the dialog from the widget.
  • onDateRangeSelected - Called when a date range is selected.

Implementation

Future<DateRange?> showDateRangePickerDialog({
  required String cancelText,
  required String confirmText,
  required double outHeight,
  required double inerHeight,
  required BuildContext context,
  required DateRangerPickerWidgetBuilder builder,
  Color barrierColor = Colors.transparent,
  Widget Function({DateRange? selectedDateRange})? footerBuilder,
  Offset? offset,
  required ValueChanged<DateRange?>? onDateRangeSelected
}) {
  return showGeneralDialog(
    context: context,
    barrierLabel: 'DateRangePickerDialogBarrier',
    barrierColor: barrierColor,
    barrierDismissible: true,
    pageBuilder: (_, __, ___) {
      return Stack(
        children: [
          Positioned(
            top: (offset?.dy ?? 0),
            left: offset?.dx ?? 0,
            child: Container(
              child: SingleChildScrollView(
                child: DateRangePickerDialog( /// 默认dialog-parent
                  cancelText: cancelText,
                  confirmText: confirmText,
                  outHeight: outHeight,
                  inerHeight: inerHeight,
                  builder: builder,
                  // footerBuilder: footerBuilder ?? DateRangePickerDialogFooter(cancelText: "",),/// .new
                  // footerBuilder: DateRangePickerDialogFooter.new,/// .new
                  footerBuilder: DateRangePickerDialogFooter(cancelText: cancelText,),/// .new
                  onDateRangeSelected: onDateRangeSelected
                ),
              ),
            ),
          ),
        ],
      );
    },
  );
}