SimpleAutocompleteFormField<T> constructor

SimpleAutocompleteFormField<T>({
  1. Key? key,
  2. int minSearchLength = 0,
  3. int maxSuggestions = 3,
  4. required Widget itemBuilder(
    1. BuildContext context,
    2. T? item
    ),
  5. required Future<List<T?>> onSearch(
    1. String search
    ),
  6. SuggestionsBuilder? suggestionsBuilder,
  7. double? suggestionsHeight,
  8. ItemToString<T?>? itemToString,
  9. ItemFromString<T?>? itemFromString,
  10. ValueChanged<T?>? onChanged,
  11. IconData? resetIcon = Icons.close,
  12. AutovalidateMode autovalidateMode = AutovalidateMode.disabled,
  13. FormFieldValidator<T?>? validator,
  14. ValueChanged<T?>? onFieldSubmitted,
  15. GestureTapCallback? onTap,
  16. FormFieldSetter<T?>? onSaved,
  17. TextEditingController? controller,
  18. FocusNode? focusNode,
  19. T? initialValue,
  20. InputDecoration? decoration = const InputDecoration(),
  21. TextInputType? keyboardType = TextInputType.text,
  22. TextStyle? style,
  23. TextAlign textAlign = TextAlign.start,
  24. bool autofocus = false,
  25. bool obscureText = false,
  26. bool autocorrect = true,
  27. MaxLengthEnforcement maxLengthEnforcement = MaxLengthEnforcement.enforced,
  28. bool enabled = true,
  29. int? maxLines = 1,
  30. int? maxLength,
  31. EdgeInsets scrollPadding = const EdgeInsets.all(20.0),
  32. TextCapitalization textCapitalization = TextCapitalization.none,
  33. 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);
          });