AppCustomDropdown<T> class
A fully custom dropdown component with overlay positioning.
Supports both single and multi-select modes with proper overlay alignment. Now includes searchability, validation, and animations.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- FormField
- AppCustomDropdown
Constructors
-
AppCustomDropdown({Key? key, required List<
AppDropdownItem< items, T? value, List<T> >T> ? values, ValueChanged<T?> ? onChanged, ValueChanged<List< ? onMultiChanged, String? labelText, String? hintText, Widget? prefixIcon, AppDropdownMode mode = AppDropdownMode.single, double maxHeight = 300, bool searchable = false, bool enabled = true, double? borderRadius, Color? borderColor, double? borderWidth, Color? focusedBorderColor, Color? backgroundColor, TextStyle? textStyle, TextStyle? hintStyle, Color? iconColor, EdgeInsetsGeometry? padding, EdgeInsetsGeometry? margin, Color? overlayColor, double? overlayBorderRadius, Color? overlayBorderColor, double? overlayElevation, TextStyle? itemTextStyle, TextStyle? selectedItemTextStyle, EdgeInsetsGeometry? itemPadding, FormFieldValidator? validator, FormFieldSetter? onSaved, AutovalidateMode? autovalidateMode})T> > - Creates a custom dropdown.
Properties
- autovalidateMode → AutovalidateMode
-
Used to enable/disable this form field auto validation and update its
error text.
finalinherited
- backgroundColor → Color?
-
Optional background color.
final
- borderColor → Color?
-
Optional border color.
final
- borderRadius → double?
-
Optional border radius.
final
- borderWidth → double?
-
Optional border width.
final
- builder → FormFieldBuilder
-
Function that returns the widget representing this form field.
finalinherited
- enabled → bool
-
Whether the form is able to receive user input.
finalinherited
- errorBuilder → FormFieldErrorBuilder?
-
Function that returns the widget representing the error to display.
finalinherited
- focusedBorderColor → Color?
-
Optional focused border color.
final
- forceErrorText → String?
-
An optional property that forces the FormFieldState into an error state
by directly setting the FormFieldState.errorText property without
running the validator function.
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- hintStyle → TextStyle?
-
Optional hint style.
final
- hintText → String?
-
Hint text when nothing is selected.
final
- iconColor → Color?
-
Optional icon color.
final
- initialValue → dynamic
-
An optional value to initialize the form field to, or null otherwise.
finalinherited
- itemPadding → EdgeInsetsGeometry?
-
Optional padding for items.
final
-
items
→ List<
AppDropdownItem< T> > -
List of items to display.
final
- itemTextStyle → TextStyle?
-
Optional text style for items.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- labelText → String?
-
Label text above the dropdown.
final
- margin → EdgeInsetsGeometry?
-
Optional margin.
final
- maxHeight → double
-
Maximum height of the dropdown overlay.
final
- mode → AppDropdownMode
-
Dropdown mode (single or multiple).
final
- onReset → VoidCallback?
-
An optional method to call when the form field is reset via
FormFieldState.reset.
finalinherited
- onSaved → FormFieldSetter?
-
An optional method to call with the final value when the form is saved via
FormState.save.
finalinherited
- overlayBorderColor → Color?
-
Optional overlay border color.
final
- overlayBorderRadius → double?
-
Optional overlay border radius.
final
- overlayColor → Color?
-
Optional overlay background color.
final
- overlayElevation → double?
-
Optional overlay elevation.
final
- padding → EdgeInsetsGeometry?
-
Optional padding.
final
- prefixIcon → Widget?
-
Prefix icon.
final
- restorationId → String?
-
Restoration ID to save and restore the state of the form field.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- searchable → bool
-
Whether the dropdown is searchable.
final
- selectedItemTextStyle → TextStyle?
-
Optional text style for selected items.
final
- textStyle → TextStyle?
-
Optional text style.
final
- validator → FormFieldValidator?
-
An optional method that validates an input. Returns an error string to
display if the input is invalid, or null otherwise.
finalinherited
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → FormFieldState -
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