ReactiveTimePicker constructor

ReactiveTimePicker({
  1. Key? key,
  2. String? formControlName,
  3. FormControl<TimeOfDay>? formControl,
  4. required ReactiveTimePickerBuilder builder,
  5. TransitionBuilder? transitionBuilder,
  6. bool useRootNavigator = true,
  7. RouteSettings? routeSettings,
  8. Widget? child,
  9. String? cancelText,
  10. String? confirmText,
  11. String? helpText,
  12. String? errorInvalidText,
  13. String? hourLabelText,
  14. String? minuteLabelText,
  15. TimePickerEntryMode initialEntryMode = TimePickerEntryMode.dial,
  16. EntryModeChangeCallback? onEntryModeChanged,
  17. Offset? anchorPoint,
})

Creates a ReactiveTimePicker that wraps the function showTimePicker.

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

ReactiveTimePicker({
  Key? key,
  String? formControlName,
  FormControl<TimeOfDay>? formControl,
  required ReactiveTimePickerBuilder builder,
  TransitionBuilder? transitionBuilder,
  bool useRootNavigator = true,
  RouteSettings? routeSettings,
  Widget? child,
  String? cancelText,
  String? confirmText,
  String? helpText,
  String? errorInvalidText,
  String? hourLabelText,
  String? minuteLabelText,
  TimePickerEntryMode initialEntryMode = TimePickerEntryMode.dial,
  EntryModeChangeCallback? onEntryModeChanged,
  Offset? anchorPoint,
}) : super(
        key: key,
        formControl: formControl,
        formControlName: formControlName,
        builder: (ReactiveFormFieldState<TimeOfDay, TimeOfDay> field) {
          return builder(
            field.context,
            ReactiveTimePickerDelegate._(
              field,
              (field) => showTimePicker(
                context: field.context,
                initialTime: field.value ?? TimeOfDay.now(),
                builder: transitionBuilder,
                useRootNavigator: useRootNavigator,
                initialEntryMode: initialEntryMode,
                cancelText: cancelText,
                confirmText: confirmText,
                helpText: helpText,
                errorInvalidText: errorInvalidText,
                hourLabelText: hourLabelText,
                minuteLabelText: minuteLabelText,
                routeSettings: routeSettings,
                onEntryModeChanged: onEntryModeChanged,
                anchorPoint: anchorPoint,
              ).then((value) {
                if (value != null) {
                  field.didChange(value);
                }
              }),
            ),
            child,
          );
        },
      );