ReactiveDatePicker<T> constructor
ReactiveDatePicker<T> ({
- Key? key,
- String? formControlName,
- FormControl<
T> ? formControl, - required ReactiveDatePickerBuilder<
T> builder, - required DateTime firstDate,
- required DateTime lastDate,
- DatePickerEntryMode initialEntryMode = DatePickerEntryMode.calendar,
- SelectableDayPredicate? selectableDayPredicate,
- String? helpText,
- String? cancelText,
- String? confirmText,
- Locale? locale,
- RouteSettings? routeSettings,
- TextDirection? textDirection,
- TransitionBuilder? transitionBuilder,
- DatePickerMode initialDatePickerMode = DatePickerMode.day,
- String? errorFormatText,
- String? errorInvalidText,
- String? fieldHintText,
- String? fieldLabelText,
- Widget? child,
- DateTime? currentDate,
- DateTime? initialDate,
- TextInputType? keyboardType,
- Offset? anchorPoint,
Creates a ReactiveDatePicker that wraps the function showDatePicker.
Can optionally provide a formControl
to bind this widget to a control.
Can optionally provide a formControlName
to bind this ReactiveFormField
to a FormControl.
Must provide one of the arguments formControl
or a formControlName
,
but not both at the same time.
The parameter transitionBuilder
is the equivalent of builder
parameter in the showTimePicker.
For documentation about the various parameters, see the showTimePicker function parameters.
Implementation
ReactiveDatePicker({
Key? key,
String? formControlName,
FormControl<T>? formControl,
required ReactiveDatePickerBuilder<T> builder,
required DateTime firstDate,
required DateTime lastDate,
DatePickerEntryMode initialEntryMode = DatePickerEntryMode.calendar,
SelectableDayPredicate? selectableDayPredicate,
String? helpText,
String? cancelText,
String? confirmText,
Locale? locale,
bool useRootNavigator = true,
RouteSettings? routeSettings,
TextDirection? textDirection,
TransitionBuilder? transitionBuilder,
DatePickerMode initialDatePickerMode = DatePickerMode.day,
String? errorFormatText,
String? errorInvalidText,
String? fieldHintText,
String? fieldLabelText,
Widget? child,
DateTime? currentDate,
DateTime? initialDate,
TextInputType? keyboardType,
Offset? anchorPoint,
}) : super(
key: key,
formControl: formControl,
formControlName: formControlName,
builder: (ReactiveFormFieldState<T, DateTime> field) {
return builder(
field.context,
ReactiveDatePickerDelegate<T>._(
field,
(field) => showDatePicker(
context: field.context,
initialDate: _getInitialDate(firstDate, lastDate,
initialDate ?? field.value ?? DateTime.now()),
firstDate: firstDate,
lastDate: lastDate,
initialEntryMode: initialEntryMode,
selectableDayPredicate: selectableDayPredicate,
helpText: helpText,
cancelText: cancelText,
confirmText: confirmText,
locale: locale,
useRootNavigator: useRootNavigator,
routeSettings: routeSettings,
textDirection: textDirection,
builder: transitionBuilder,
initialDatePickerMode: initialDatePickerMode,
errorFormatText: errorFormatText,
errorInvalidText: errorInvalidText,
fieldHintText: fieldHintText,
fieldLabelText: fieldLabelText,
currentDate: currentDate,
keyboardType: keyboardType,
anchorPoint: anchorPoint,
).then((value) {
if (value != null) {
field.didChange(value);
}
}),
),
child,
);
},
);