DatePickerDialog constructor

const DatePickerDialog({
  1. Key? key,
  2. required CalendarViewType initialViewType,
  3. CalendarView? initialView,
  4. required CalendarSelectionMode selectionMode,
  5. CalendarSelectionMode? viewMode,
  6. CalendarValue? initialValue,
  7. ValueChanged<CalendarValue?>? onChanged,
  8. DateStateBuilder? stateBuilder,
})

Creates a DatePickerDialog with comprehensive date selection options.

Configures the dialog's initial state, selection behavior, and callbacks for handling date changes and validation.

Parameters:

  • initialViewType (CalendarViewType, required): Starting view (date/month/year)
  • initialView (CalendarView?, optional): Initial calendar view position
  • selectionMode (CalendarSelectionMode, required): How dates can be selected
  • viewMode (CalendarSelectionMode?, optional): Alternative view mode for display
  • initialValue (CalendarValue?, optional): Pre-selected date(s)
  • onChanged (ValueChanged<CalendarValue?>?, optional): Called when selection changes
  • stateBuilder (DateStateBuilder?, optional): Custom date state validation

Example:

DatePickerDialog(
  initialViewType: CalendarViewType.date,
  selectionMode: CalendarSelectionMode.range,
  onChanged: (value) => handleDateChange(value),
  stateBuilder: (date) => date.isBefore(DateTime.now())
    ? DateState.disabled
    : DateState.enabled,
)

Implementation

const DatePickerDialog({
  super.key,
  required this.initialViewType,
  this.initialView,
  required this.selectionMode,
  this.viewMode,
  this.initialValue,
  this.onChanged,
  this.stateBuilder,
});