FormeTextField constructor
FormeTextField({
- String? initialValue,
- required String name,
- bool readOnly = false,
- Key? key,
- InputDecoration? decoration,
- int? maxLines = 1,
- int? order,
- bool quietlyValidate = false,
- bool selectAllOnFocus = false,
- TextInputType? keyboardType,
- bool autofocus = false,
- int? minLines,
- int? maxLength,
- TextStyle? style,
- ToolbarOptions? toolbarOptions,
- TextInputAction? textInputAction,
- TextCapitalization textCapitalization = TextCapitalization.none,
- bool obscureText = false,
- StrutStyle? strutStyle,
- TextAlign textAlign = TextAlign.start,
- TextAlignVertical? textAlignVertical,
- TextDirection? textDirection,
- bool? showCursor,
- String obscuringCharacter = '•',
- bool autocorrect = true,
- SmartDashesType? smartDashesType,
- SmartQuotesType? smartQuotesType,
- bool enableSuggestions = true,
- bool expands = false,
- MaxLengthEnforcement? maxLengthEnforcement,
- double cursorWidth = 2.0,
- double? cursorHeight,
- Radius? cursorRadius,
- Color? cursorColor,
- BoxHeightStyle selectionHeightStyle = BoxHeightStyle.tight,
- BoxWidthStyle selectionWidthStyle = BoxWidthStyle.tight,
- Brightness? keyboardAppearance,
- EdgeInsets scrollPadding = const EdgeInsets.all(20),
- DragStartBehavior dragStartBehavior = DragStartBehavior.start,
- MouseCursor? mouseCursor,
- ScrollPhysics? scrollPhysics,
- Iterable<
String> ? autofillHints, - bool enableInteractiveSelection = true,
- bool enabled = true,
- VoidCallback? onEditingComplete,
- List<
TextInputFormatter> ? inputFormatters, - AppPrivateCommandCallback? appPrivateCommandCallback,
- InputCounterWidgetBuilder? buildCounter,
- GestureTapCallback? onTap,
- ValueChanged<
String> ? onSubmitted, - ScrollController? scrollController,
- TextSelectionControls? textSelectionControls,
- Duration? asyncValidatorDebounce,
- AutovalidateMode? autovalidateMode,
- FormeValueChanged<
String> ? onValueChanged, - FormeFocusChanged<
String> ? onFocusChanged, - FormeFieldValidationChanged<
String> ? onValidationChanged, - FormeFieldInitialed<
String> ? onInitialed, - FormeFieldSetter<
String> ? onSaved, - FormeValidator<
String> ? validator, - FormeAsyncValidator<
String> ? asyncValidator, - bool enableIMEPersonalizedLearning = true,
- FormeFieldDecorator<
String> ? decorator, - bool registrable = true,
- bool updateValueWhenComposing = false,
Implementation
FormeTextField({
String? initialValue,
required String name,
bool readOnly = false,
Key? key,
InputDecoration? decoration,
int? maxLines = 1,
int? order,
bool quietlyValidate = false,
this.selectAllOnFocus = false,
TextInputType? keyboardType,
bool autofocus = false,
int? minLines,
int? maxLength,
TextStyle? style,
ToolbarOptions? toolbarOptions,
TextInputAction? textInputAction,
TextCapitalization textCapitalization = TextCapitalization.none,
bool obscureText = false,
StrutStyle? strutStyle,
TextAlign textAlign = TextAlign.start,
TextAlignVertical? textAlignVertical,
TextDirection? textDirection,
bool? showCursor,
String obscuringCharacter = '•',
bool autocorrect = true,
SmartDashesType? smartDashesType,
SmartQuotesType? smartQuotesType,
bool enableSuggestions = true,
bool expands = false,
MaxLengthEnforcement? maxLengthEnforcement,
double cursorWidth = 2.0,
double? cursorHeight,
Radius? cursorRadius,
Color? cursorColor,
BoxHeightStyle selectionHeightStyle = BoxHeightStyle.tight,
BoxWidthStyle selectionWidthStyle = BoxWidthStyle.tight,
Brightness? keyboardAppearance,
EdgeInsets scrollPadding = const EdgeInsets.all(20),
DragStartBehavior dragStartBehavior = DragStartBehavior.start,
MouseCursor? mouseCursor,
ScrollPhysics? scrollPhysics,
Iterable<String>? autofillHints,
bool enableInteractiveSelection = true,
bool enabled = true,
VoidCallback? onEditingComplete,
List<TextInputFormatter>? inputFormatters,
AppPrivateCommandCallback? appPrivateCommandCallback,
InputCounterWidgetBuilder? buildCounter,
GestureTapCallback? onTap,
ValueChanged<String>? onSubmitted,
ScrollController? scrollController,
TextSelectionControls? textSelectionControls,
Duration? asyncValidatorDebounce,
AutovalidateMode? autovalidateMode,
FormeValueChanged<String>? onValueChanged,
FormeFocusChanged<String>? onFocusChanged,
FormeFieldValidationChanged<String>? onValidationChanged,
FormeFieldInitialed<String>? onInitialed,
FormeFieldSetter<String>? onSaved,
FormeValidator<String>? validator,
FormeAsyncValidator<String>? asyncValidator,
bool enableIMEPersonalizedLearning = true,
FormeFieldDecorator<String>? decorator,
bool registrable = true,
this.updateValueWhenComposing = false,
}) : super(
enabled: enabled,
registrable: registrable,
decorator: decorator,
order: order,
quietlyValidate: quietlyValidate,
asyncValidatorDebounce: asyncValidatorDebounce,
autovalidateMode: autovalidateMode,
onValueChanged: onValueChanged,
onFocusChanged: onFocusChanged,
onValidationChanged: onValidationChanged,
onInitialed: onInitialed,
onSaved: onSaved,
validator: validator,
asyncValidator: asyncValidator,
key: key,
name: name,
readOnly: readOnly,
initialValue: initialValue ?? '',
builder: (baseState) {
final bool readOnly = baseState.readOnly;
final bool enabled = baseState.enabled;
final _FormeTextFieldState state =
baseState as _FormeTextFieldState;
return TextField(
enableIMEPersonalizedLearning: enableIMEPersonalizedLearning,
focusNode: state.focusNode,
controller: state.textEditingController,
decoration: decoration?.copyWith(errorText: state.errorText),
obscureText: obscureText,
maxLines: maxLines,
minLines: minLines,
enabled: enabled,
readOnly: readOnly,
onTap: onTap,
onEditingComplete: onEditingComplete,
onSubmitted: onSubmitted,
// onChanged: state._didChange,
onAppPrivateCommand: appPrivateCommandCallback,
textInputAction: textInputAction,
textCapitalization: textCapitalization,
style: style,
strutStyle: strutStyle,
textAlign: textAlign,
textAlignVertical: textAlignVertical,
textDirection: textDirection,
showCursor: showCursor,
obscuringCharacter: obscuringCharacter,
autocorrect: autocorrect,
smartDashesType: smartDashesType,
smartQuotesType: smartQuotesType,
enableSuggestions: enableSuggestions,
expands: expands,
cursorWidth: cursorWidth,
cursorHeight: cursorHeight,
cursorRadius: cursorRadius,
cursorColor: cursorColor,
selectionHeightStyle: selectionHeightStyle,
selectionWidthStyle: selectionWidthStyle,
keyboardAppearance: keyboardAppearance,
scrollPadding: scrollPadding,
dragStartBehavior: dragStartBehavior,
mouseCursor: mouseCursor,
scrollPhysics: scrollPhysics,
autofillHints: readOnly ? null : autofillHints,
autofocus: autofocus,
toolbarOptions: toolbarOptions,
enableInteractiveSelection: enableInteractiveSelection,
buildCounter: buildCounter,
maxLengthEnforcement: updateValueWhenComposing
? maxLengthEnforcement
: MaxLengthEnforcement.truncateAfterCompositionEnds,
inputFormatters: inputFormatters,
keyboardType: keyboardType,
maxLength: maxLength,
scrollController: scrollController,
selectionControls: textSelectionControls,
);
},
);