BaseMultiSearchField<T extends Object> constructor

const BaseMultiSearchField<T extends Object>({
  1. required void onSelected(
    1. String text
    )?,
  2. required String? labelText,
  3. required List<T> dropDownList,
  4. required List<String>? values,
  5. required void removeEvent(
    1. String text
    )?,
  6. required Widget item(
    1. T element
    ),
  7. required FutureOr<Iterable<T>> optionsBuilder(
    1. TextEditingValue
    ),
  8. required String getItemText(
    1. T value
    )?,
  9. required Widget fieldSuffixIcon({
    1. required bool menuOpened,
    2. required VoidCallback onCloseIconTap,
    3. required VoidCallback onlyCloseMenu,
    })?,
  10. String? errorText,
  11. bool? showErrorText,
  12. double selectListSpacing = 8,
  13. double selectListItemSpacing = 8,
  14. double selectListItemRunSpacing = 8,
  15. double menuMaxHeight = 400,
  16. EdgeInsets menuMargin = const EdgeInsets.only(top: 4, bottom: 8),
  17. EdgeInsets listPadding = const EdgeInsets.symmetric(vertical: 16),
  18. Clip listClipBehavior = Clip.hardEdge,
  19. bool usePrototype = true,
  20. Key? textFieldKey,
  21. bool? isRequired,
  22. Key? key,
  23. List<Widget>? trailingList,
  24. Icon? unfocusSuffixIcon,
  25. double? suffixIconPadding,
  26. FocusNode? focusNode,
  27. int? errorMaxLines,
  28. String? description,
  29. T? allElements,
  30. BoxDecoration? menuDecoration,
  31. double? itemsSpace,
  32. ButtonStyle? itemStyle,
  33. InputDecoration? fieldDecoration,
  34. Widget customTextField({
    1. required TextEditingController controller,
    2. required FocusNode focusNode,
    3. required GlobalKey<State<StatefulWidget>> key,
    4. required void onChanged(
      1. String
      )?,
    5. required void onSubmitted(
      1. String
      )?,
    6. required Widget? suffixIcon,
    7. required Key? textFieldKey,
    })?,
  35. Widget selectedWidget(
    1. String value
    )?,
  36. int? selectedItemMaxLines,
  37. ButtonStyle? selectedItemStyle,
  38. TextStyle? selectedItemTextStyle,
  39. Clip? selectedItemClipBehavior,
  40. Widget? selectedItemIcon,
  41. double? selectedItemSpacing,
  42. TextAlign? selectedItemTextAlign,
  43. TextOverflow? selectedItemTextOverflow,
  44. List<TextInputFormatter>? fieldInputFormatters,
  45. TextEditingController? controller,
  46. TextStyle? labelTextStyle,
  47. OptionsViewOpenDirection optionsViewOpenDirection = OptionsViewOpenDirection.down,
  48. Widget listButtonItem({
    1. required int index,
    2. required bool isEnabled,
    3. required Key? key,
    4. required void onPressed(),
    5. required T value,
    })?,
  49. double? listCacheExtent,
  50. bool listAddSemanticIndexes = true,
  51. ScrollController? listController,
  52. String? listRestorationId,
  53. int? listSemanticChildCount,
  54. DragStartBehavior listDragStartBehavior = DragStartBehavior.start,
  55. ScrollPhysics? listPhysics,
  56. bool? listPrimary,
  57. Key? fieldIconKey,
  58. Widget menuList({
    1. required Widget item(
      1. int index
      ),
    2. required int length,
    })?,
  59. Key? listKey,
  60. Key? listItemKey,
  61. Key? selectedListKey,
  62. Key? selectedListItemKey,
  63. bool useFindChildIndexCallback = true,
})

Implementation

const BaseMultiSearchField({
  required this.onSelected,
  required this.labelText,
  required this.dropDownList,
  required this.values,
  required this.removeEvent,
  required this.item,
  required this.optionsBuilder,
  required this.getItemText,
  required this.fieldSuffixIcon,
  this.errorText,
  this.showErrorText,
  this.selectListSpacing = 8,
  this.selectListItemSpacing = 8,
  this.selectListItemRunSpacing = 8,
  this.menuMaxHeight = 400,
  this.menuMargin = const EdgeInsets.only(top: 4, bottom: 8),
  this.listPadding = const EdgeInsets.symmetric(vertical: 16),
  this.listClipBehavior = Clip.hardEdge,
  this.usePrototype = true,
  this.textFieldKey,
  this.isRequired,
  super.key,
  this.trailingList,
  this.unfocusSuffixIcon,
  this.suffixIconPadding,
  this.focusNode,
  this.errorMaxLines,
  this.description,
  this.allElements,
  this.menuDecoration,
  this.itemsSpace,
  this.itemStyle,
  this.fieldDecoration,
  this.customTextField,
  this.selectedWidget,
  this.selectedItemMaxLines,
  this.selectedItemStyle,
  this.selectedItemTextStyle,
  this.selectedItemClipBehavior,
  this.selectedItemIcon,
  this.selectedItemSpacing,
  this.selectedItemTextAlign,
  this.selectedItemTextOverflow,
  this.fieldInputFormatters,
  this.controller,
  this.labelTextStyle,
  this.optionsViewOpenDirection = OptionsViewOpenDirection.down,
  this.listButtonItem,
  this.listCacheExtent,
  this.listAddSemanticIndexes = true,
  this.listController,
  this.listRestorationId,
  this.listSemanticChildCount,
  this.listDragStartBehavior = DragStartBehavior.start,
  this.listPhysics,
  this.listPrimary,
  this.fieldIconKey,
  this.menuList,
  this.listKey,
  this.listItemKey,
  this.selectedListKey,
  this.selectedListItemKey,
  this.useFindChildIndexCallback = true,
});