SimpleAutocompleteFormField<T> constructor
SimpleAutocompleteFormField<T> ({
- Key? key,
- int minSearchLength = 0,
- int maxSuggestions = 3,
- required Widget itemBuilder(
- BuildContext context,
- T? item
- required Future<
List< onSearch(T?> >- String search
- SuggestionsBuilder? suggestionsBuilder,
- double? suggestionsHeight,
- ItemToString<
T?> ? itemToString, - ItemFromString<
T?> ? itemFromString, - ValueChanged<
T?> ? onChanged, - IconData? resetIcon = Icons.close,
- AutovalidateMode autovalidateMode = AutovalidateMode.disabled,
- FormFieldValidator<
T?> ? validator, - ValueChanged<
T?> ? onFieldSubmitted, - GestureTapCallback? onTap,
- FormFieldSetter<
T?> ? onSaved, - TextEditingController? controller,
- FocusNode? focusNode,
- T? initialValue,
- InputDecoration? decoration = const InputDecoration(),
- TextInputType? keyboardType = TextInputType.text,
- TextStyle? style,
- TextAlign textAlign = TextAlign.start,
- bool autofocus = false,
- bool obscureText = false,
- bool autocorrect = true,
- MaxLengthEnforcement maxLengthEnforcement = MaxLengthEnforcement.enforced,
- bool enabled = true,
- int? maxLines = 1,
- int? maxLength,
- EdgeInsets scrollPadding = const EdgeInsets.all(20.0),
- TextCapitalization textCapitalization = TextCapitalization.none,
- List<
TextInputFormatter> ? inputFormatters,
Implementation
SimpleAutocompleteFormField(
{this.key,
this.minSearchLength: 0,
this.maxSuggestions: 3,
required this.itemBuilder,
required this.onSearch,
SuggestionsBuilder? suggestionsBuilder,
this.suggestionsHeight,
this.itemToString,
this.itemFromString,
this.onChanged,
this.resetIcon: Icons.close,
AutovalidateMode autovalidateMode: AutovalidateMode.disabled,
this.validator,
this.onFieldSubmitted,
this.onTap,
this.onSaved,
// TextFormField properties
TextEditingController? controller,
this.focusNode,
this.initialValue,
this.decoration: const InputDecoration(),
this.keyboardType: TextInputType.text,
this.style,
this.textAlign: TextAlign.start,
this.autofocus: false,
this.obscureText: false,
this.autocorrect: true,
this.maxLengthEnforcement: MaxLengthEnforcement.enforced,
this.enabled = true,
this.maxLines: 1,
this.maxLength,
this.scrollPadding = const EdgeInsets.all(20.0),
this.textCapitalization = TextCapitalization.none,
this.inputFormatters})
: controller = controller ?? TextEditingController(text: _toString<T>(initialValue, itemToString)),
suggestionsBuilder = suggestionsBuilder ?? _defaultSuggestionsBuilder(suggestionsHeight),
super(
key: key,
autovalidateMode: autovalidateMode,
validator: validator,
onSaved: onSaved,
builder: (FormFieldState<T> field) {
final state = field as _SimpleAutocompleteFormFieldState<T>;
return state.build(state.context);
});