FlutterSearchify<T> class

A highly customizable search bar widget with live results and history dropdown.

Supports asynchronous searching, debounce, styling, overlay positioning, item builders, highlighting, and focus handling.

Inheritance

Constructors

FlutterSearchify({Key? key, required TextEditingController searchController, required SearchObject<T>? onSearch, required dynamic itemOnTap(T), ListItem<T>? itemBuilder, Widget? suffixIcon, Widget separator = const SizedBox.shrink(), double listWidth = 200, bool isLoading = false, bool enabled = true, bool inSelectedMode = true, dynamic onTap()?, TextStyle? textStyle, FocusNode? focusNode, FocusOrder order = const NumericFocusOrder(0), TextAlign searchFieldTextAlign = TextAlign.start, TextAlign itemTextAlign = TextAlign.start, TextDirection? textDirection, bool clearOnItemTap = true, Style style = const Style(), double? overlayWidth})
Creates a FlutterSearchify widget.
const

Properties

clearOnItemTap bool
Whether to clear the search field when item tapped.
final
enabled bool
Whether the input field is enabled.
final
focusNode FocusNode?
Optional focus node to manage keyboard focus.
final
hashCode int
The hash code for this object.
no setterinherited
inSelectedMode bool
Whether to enter selection mode when an item is tapped.
final
isLoading bool
Shows a loading indicator in the dropdown when true.
final
itemBuilder ListItem<T>?
Custom builder for list items.
final
itemOnTap → dynamic Function(T)
Callback triggered when an item is selected.
final
itemTextAlign TextAlign
Text alignment for list items.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
listWidth double
Width of the list overlay.
final
onSearch SearchObject<T>?
Async search function called on input changes.
final
onTap → dynamic Function()?
Tap callback on the input field.
final
order FocusOrder
Focus traversal order.
final
overlayWidth double?
Optional fixed width for the dropdown overlay.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
searchController TextEditingController
The controller for the search input text.
final
searchFieldTextAlign TextAlign
Text alignment for the input field.
final
separator Widget
Widget between list items.
final
style Style
Styling for all parts of the widget.
final
suffixIcon Widget?
Optional suffix icon to show at the end of the input field.
final
textDirection TextDirection?
Text direction of the entire widget.
final
textStyle TextStyle?
Text style for the input.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<FlutterSearchify<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
highlightMatch(String text, String query) Widget
Highlights the parts of text that match the query string.
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