ArnaDropdownButton<T> class
An Arna-styled button for selecting from a list of items.
A dropdown button lets the user select from a number of items. The button shows the currently selected item as well as an arrow that opens a menu for selecting another item.
The type T
is the type of the value that each dropdown item represents. All the entries in a given menu must
represent values with consistent types. Typically, an enum is used. Each ArnaDropdownMenuItem in items must be
specialized with that same type argument.
The onChanged callback should update a state variable that defines the dropdown's value. It should also call State.setState to rebuild the dropdown with the new value.
If the onChanged callback is null or the list of items is null then the dropdown button will be disabled. A disabled button will display the disabledHint text if it is non-null. However, if disabledHint is null and hint is non-null, the hint text will instead be displayed.
See also:
- ArnaDropdownMenuItem, the class used to represent the items.
- ArnaButton, ArnaTextButton, ordinary buttons that trigger a single action.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- ArnaDropdownButton
Constructors
-
ArnaDropdownButton({Key? key, required List<
ArnaDropdownMenuItem< ? items, T? value, Widget? hint, Widget? disabledHint, required ValueChanged<T> >T?> ? onChanged, VoidCallback? onTap, FocusNode? focusNode, bool autofocus = false, Color? accentColor, MouseCursor cursor = MouseCursor.defer, bool? enableFeedback}) - Creates a dropdown button.
Properties
- accentColor → Color?
-
The color of the button's focused border.
final
- autofocus → bool
-
Whether this button should focus itself if nothing else is already focused.
final
- cursor → MouseCursor
-
The cursor for a mouse pointer when it enters or is hovering over the button.
final
- disabledHint → Widget?
-
A preferred placeholder text that is displayed when the dropdown is disabled.
final
- enableFeedback → bool?
-
Whether detected gestures should provide acoustic and/or haptic feedback.
final
- focusNode → FocusNode?
-
An optional focus node to use as the focus node for this widget.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- hint → Widget?
-
A placeholder widget that is displayed by the dropdown button.
final
-
items
→ List<
ArnaDropdownMenuItem< ?T> > -
The list of items the user can select.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
-
onChanged
→ ValueChanged<
T?> ? -
Called when the user selects an item.
final
- onTap → VoidCallback?
-
Called when the dropdown button is tapped.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- value → T?
-
The value of the currently selected ArnaDropdownMenuItem.
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< ArnaDropdownButton< 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}) → 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