CustomDropdown<T> class

Inheritance
Available extensions

Constructors

CustomDropdown.new({Key? key, required List<T>? items, required dynamic onChanged(T?)?, SingleSelectController<T?>? controller, ScrollController? itemsScrollController, T? initialItem, String? hintText, CustomDropdownDecoration? decoration, String? validator(T?)?, bool validateOnChange = true, dynamic visibility(bool)?, OverlayPortalController? overlayController, _ListItemBuilder<T>? listItemBuilder, _HeaderBuilder<T>? headerBuilder, _HintBuilder? hintBuilder, int maxlines = 1, double? overlayHeight, EdgeInsets? closedHeaderPadding, EdgeInsets? expandedHeaderPadding, EdgeInsets? itemsListPadding, EdgeInsets? listItemPadding, bool canCloseOutsideBounds = true, bool hideSelectedFieldWhenExpanded = false, bool excludeSelected = true, bool enabled = true, CustomDropdownDisabledDecoration? disabledDecoration})
CustomDropdown.multiSelect({Key? key, required List<T>? items, required dynamic onListChanged(List<T>)?, MultiSelectController<T>? multiSelectController, SingleSelectController<T?>? controller, List<T>? initialItems, OverlayPortalController? overlayController, ScrollController? itemsScrollController, String? listValidator(List<T>)?, dynamic visibility(bool)?, _HeaderListBuilder<T>? headerListBuilder, String? hintText, CustomDropdownDecoration? decoration, bool validateOnChange = true, _ListItemBuilder<T>? listItemBuilder, _HintBuilder? hintBuilder, bool canCloseOutsideBounds = true, bool hideSelectedFieldWhenExpanded = false, int maxlines = 1, double? overlayHeight, EdgeInsets? closedHeaderPadding, EdgeInsets? expandedHeaderPadding, EdgeInsets? itemsListPadding, EdgeInsets? listItemPadding, bool enabled = true, CustomDropdownDisabledDecoration? disabledDecoration})
CustomDropdown.multiSelectSearch({Key? key, required List<T>? items, required dynamic onListChanged(List<T>)?, MultiSelectController<T>? multiSelectController, List<T>? initialItems, SingleSelectController<T?>? controller, dynamic visibility(bool)?, ScrollController? itemsScrollController, OverlayPortalController? overlayController, String? listValidator(List<T>)?, _ListItemBuilder<T>? listItemBuilder, _HintBuilder? hintBuilder, CustomDropdownDecoration? decoration, _HeaderListBuilder<T>? headerListBuilder, String? noResultFoundText, _NoResultFoundBuilder? noResultFoundBuilder, String? hintText, String? searchHintText, bool validateOnChange = true, bool canCloseOutsideBounds = true, bool hideSelectedFieldWhenExpanded = false, int maxlines = 1, double? overlayHeight, EdgeInsets? closedHeaderPadding, EdgeInsets? expandedHeaderPadding, EdgeInsets? itemsListPadding, EdgeInsets? listItemPadding, bool enabled = true, CustomDropdownDisabledDecoration? disabledDecoration, bool closeDropDownOnClearFilterSearch = false})
CustomDropdown.multiSelectSearchRequest({Key? key, required Future<List<T>> futureRequest(String)?, required dynamic onListChanged(List<T>)?, MultiSelectController<T>? multiSelectController, Duration? futureRequestDelay, List<T>? initialItems, List<T>? items, SingleSelectController<T?>? controller, ScrollController? itemsScrollController, OverlayPortalController? overlayController, dynamic visibility(bool)?, String? hintText, CustomDropdownDecoration? decoration, String? searchHintText, String? noResultFoundText, _HeaderListBuilder<T>? headerListBuilder, _ListItemBuilder<T>? listItemBuilder, _HintBuilder? hintBuilder, _NoResultFoundBuilder? noResultFoundBuilder, String? listValidator(List<T>)?, bool validateOnChange = true, int maxlines = 1, double? overlayHeight, Widget? searchRequestLoadingIndicator, EdgeInsets? closedHeaderPadding, EdgeInsets? expandedHeaderPadding, EdgeInsets? itemsListPadding, EdgeInsets? listItemPadding, bool canCloseOutsideBounds = true, bool hideSelectedFieldWhenExpanded = false, bool enabled = true, CustomDropdownDisabledDecoration? disabledDecoration, bool closeDropDownOnClearFilterSearch = false})
const
CustomDropdown.search({Key? key, required List<T>? items, required dynamic onChanged(T?)?, SingleSelectController<T?>? controller, ScrollController? itemsScrollController, T? initialItem, String? hintText, CustomDropdownDecoration? decoration, dynamic visibility(bool)?, OverlayPortalController? overlayController, String? searchHintText, String? noResultFoundText, _ListItemBuilder<T>? listItemBuilder, _HeaderBuilder<T>? headerBuilder, _HintBuilder? hintBuilder, _NoResultFoundBuilder? noResultFoundBuilder, String? validator(T?)?, bool validateOnChange = true, int maxlines = 1, double? overlayHeight, EdgeInsets? closedHeaderPadding, EdgeInsets? expandedHeaderPadding, EdgeInsets? itemsListPadding, EdgeInsets? listItemPadding, bool excludeSelected = true, bool canCloseOutsideBounds = true, bool hideSelectedFieldWhenExpanded = false, bool enabled = true, CustomDropdownDisabledDecoration? disabledDecoration, bool closeDropDownOnClearFilterSearch = false})
CustomDropdown.searchRequest({Key? key, required Future<List<T>> futureRequest(String)?, required dynamic onChanged(T?)?, Duration? futureRequestDelay, T? initialItem, List<T>? items, SingleSelectController<T?>? controller, ScrollController? itemsScrollController, String? hintText, CustomDropdownDecoration? decoration, dynamic visibility(bool)?, OverlayPortalController? overlayController, String? searchHintText, String? noResultFoundText, _ListItemBuilder<T>? listItemBuilder, _HeaderBuilder<T>? headerBuilder, _HintBuilder? hintBuilder, _NoResultFoundBuilder? noResultFoundBuilder, String? validator(T?)?, bool validateOnChange = true, int maxlines = 1, double? overlayHeight, EdgeInsets? closedHeaderPadding, EdgeInsets? expandedHeaderPadding, EdgeInsets? itemsListPadding, EdgeInsets? listItemPadding, Widget? searchRequestLoadingIndicator, bool excludeSelected = true, bool canCloseOutsideBounds = true, bool hideSelectedFieldWhenExpanded = false, bool enabled = true, CustomDropdownDisabledDecoration? disabledDecoration, bool closeDropDownOnClearFilterSearch = false})
const

Properties

canCloseOutsideBounds bool
Can close CustomDropdown overlay by tapping outside. Here "outside" covers the entire screen.
final
closedHeaderPadding EdgeInsets?
Padding for CustomDropdown header (closed state).
final
closeDropDownOnClearFilterSearch bool
CustomDropdown will close on tap Clear filter for all search and searchRequest constructors
final
controller SingleSelectController<T?>?
The controller that can be used to control CustomDropdown selected item.
final
decoration CustomDropdownDecoration?
CustomDropdown decoration. Contain sub-decorations SearchFieldDecoration, ListItemDecoration and ScrollbarThemeData.
final
disabledDecoration CustomDropdownDisabledDecoration?
CustomDropdown disabled decoration.
final
enabled bool
CustomDropdown enabled/disabled state. If disabled, you can not open the dropdown.
final
excludeSelected bool
Hide the selected item from the items list.
final
expandedHeaderPadding EdgeInsets?
Padding for CustomDropdown header (opened/expanded state).
final
futureRequest Future<List<T>> Function(String)?
The asynchronous computation from which the items list returns.
final
futureRequestDelay Duration?
Duration after which the futureRequest is to be executed.
final
hashCode int
The hash code for this object.
no setterinherited
headerBuilder → _HeaderBuilder<T>?
The headerBuilder that will be used to build CustomDropdown header field.
final
headerListBuilder → _HeaderListBuilder<T>?
The headerListBuilder that will be used to build CustomDropdown header field.
final
hideSelectedFieldWhenExpanded bool
Hide the header field when CustomDropdown overlay opened/expanded.
final
hintBuilder → _HintBuilder?
The hintBuilder that will be used to build CustomDropdown hint of header field.
final
hintText String?
Text that suggests what sort of data the dropdown represents.
final
initialItem → T?
Initial selected item from the list of items.
final
initialItems List<T>?
Initial selected items from the list of items.
final
items List<T>?
The list of items user can select.
final
itemsListPadding EdgeInsets?
Padding for CustomDropdown items list.
final
itemsScrollController ScrollController?
Scroll controller to access items list scroll behavior.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
listItemBuilder → _ListItemBuilder<T>?
The listItemBuilder that will be used to build item on demand.
final
listItemPadding EdgeInsets?
Padding for CustomDropdown each list item.
final
listValidator String? Function(List<T>)?
A method that validates the selected items. Returns an error string to display as per the validation, or null otherwise.
final
maxlines int
Text maxlines for header and list item text.
final
multiSelectController MultiSelectController<T>?
The multiSelectController that can be used to control CustomDropdown.multiSelect selected items.
final
noResultFoundBuilder → _NoResultFoundBuilder?
The noResultFoundBuilder that will be used to build area when there's no search results match.
final
noResultFoundText String?
Text that notify there's no search results match.
final
onChanged → dynamic Function(T?)?
Called when the item of the CustomDropdown should change.
final
onListChanged → dynamic Function(List<T>)?
Called when the list of items of the CustomDropdown should change.
final
overlayController OverlayPortalController?
The overlayController allows you to explicitly handle the CustomDropdown overlay states (show/hide).
final
overlayHeight double?
CustomDropdown opened/expanded area height. Only applicable if items are greater than 4 otherwise adjust automatically.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
searchHintText String?
Text that suggests what to search in the search field.
final
searchRequestLoadingIndicator Widget?
Widget to display while search request loading.
final
validateOnChange bool
Enable the validation listener on item change. This implies to validator everytime when the item change.
final
validator String? Function(T?)?
A method that validates the selected item. Returns an error string to display as per the validation, or null otherwise.
final
visibility → dynamic Function(bool)?
Callback for dropdown visibility.
final

Methods

animate({Key? key, List<Effect>? effects, AnimateCallback? onInit, AnimateCallback? onPlay, AnimateCallback? onComplete, bool? autoPlay, Duration? delay, AnimationController? controller, Adapter? adapter, double? target, double? value}) Animate

Available on Widget, provided by the AnimateWidgetExtensions extension

Wraps the target Widget in an Animate instance, and returns the instance for chaining calls. Ex. myWidget.animate() is equivalent to Animate(child: myWidget).
createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<CustomDropdown<T>>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited