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
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- FlutterSearchify
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
textthat match thequerystring. -
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