Select<T> class
A button-style dropdown selector that cycles through options.
The Select widget displays the currently selected option and cycles to the next enabled option when activated. Use placeholder to show text when no value is selected.
Example:
Select<String>(
options: [
SelectOption(label: 'Light', value: 'light'),
SelectOption(label: 'Dark', value: 'dark'),
SelectOption(label: 'Auto', value: 'auto'),
],
value: 'dark',
onChanged: (mode) => print('Theme: $mode'),
)
- Inheritance
-
- Object
- Widget
- StatelessWidget
- Select
Constructors
-
Select({required List<
SelectOption< options, T? value, ValueCmdCallback<T> >T> ? onChanged, bool enabled = true, String placeholder = 'Select', ButtonSize size = ButtonSize.medium, ButtonVariant variant = ButtonVariant.outline, Style? textStyle, bool selectFirstWhenNull = true, Key? key})
Properties
- accessibilityLabel → String?
-
Optional accessibility label.
no setterinherited
- accessibilityRole → String
-
Optional accessibility role.
no setterinherited
-
children
→ List<
Widget> -
Child widgets that receive forwarded messages.
no setterinherited
- debugRenderObjectPassthrough → bool
-
Whether this widget is intentionally transparent to render-object layouts.
no setterinherited
- degradationSignal → WidgetDegradationSignal
-
Signal that controls this widget's render budget behavior.
no setterinherited
- enabled → bool
-
final
- focusable → bool
-
Whether this widget can receive keyboard focus.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- id → String
-
Unique identifier for this widget.
no setterinherited
- key → Key?
-
Key for preserving widget identity.
finalinherited
-
onChanged
→ ValueCmdCallback<
T> ? -
final
-
options
→ List<
SelectOption< T> > -
final
- placeholder → String
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- selectFirstWhenNull → bool
-
final
- size → ButtonSize
-
final
- textStyle → Style?
-
final
- theme → Theme
-
Access the current theme.
no setterinherited
- value → T?
-
final
- variant → ButtonVariant
-
final
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the UI represented by this widget.
override
-
buildCachedView<
T> (T builder(), Object? cacheKey) → T -
Returns a cached view if the cache key matches.
inherited
-
handleInit(
) → Cmd? -
Override this instead of init for widget-specific initialization.
inherited
-
handleIntercept(
Msg msg) → (Widget, Cmd?) -
Override this to handle messages before they reach children.
inherited
-
handleUpdate(
Msg msg) → (Widget, Cmd?) -
Override this to handle messages specific to this widget.
inherited
-
init(
) → Cmd? -
Called once when the widget is first mounted.
inherited
-
invalidateCachedView(
) → void -
Clears any cached view for this widget.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
shouldRenderAt(
DegradationLevel degradationLevel, {required bool subtreeHasFocusedWidget}) → bool -
Whether this widget should participate in the current render when
degradationLevelis active.inherited -
toString(
) → String -
A string representation of this object.
inherited
-
update(
Msg msg) → (Model, Cmd?) -
Handles messages by forwarding to children then calling handleUpdate.
inherited
-
view(
) → Object -
Renders the widget to a string or View.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited