DraftModeUIDropDown<ItemType> class
Platform-aware disclosure that surfaces a selection picker.
DraftModeUIDropDown is the public facade for the drop-down experience. It keeps the consumer-facing API in one place while delegating the inline field rendering, route selection, and picker layout to dedicated implementation files.
Displays the current selection inline and presents the shared picker UI when users change the value. iOS uses a pushed DraftModeUIDropDownScreen, while Android uses a bottom-sheet list so shorter pickers can stay closer to platform settings patterns. Headers, separators, refresh controls, and custom padding propagate to the picker so drop-downs stay visually aligned with standalone lists.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- DraftModeUIDropDown
Constructors
-
DraftModeUIDropDown({Key? key, bool isPending = false, required List<
ItemType> items, required Widget itemBuilder(ItemType item, bool isSelected), required String pageTitle, ItemType? selectedItem, Object? selectedKey, Object? itemKeyOf(ItemType item)?, ValueChanged<ItemType?> ? onChanged, Widget? emptyPlaceholder, Widget? header, Widget? separator, Future<void> onRefresh()?, EdgeInsetsGeometry? padding, bool readOnly = false, DraftModeUIDropDownFieldBuilder? fieldBuilder}) -
const
Properties
- emptyPlaceholder → Widget?
-
Widget shown when items is empty or selectedItem is
null.final - fieldBuilder → DraftModeUIDropDownFieldBuilder?
-
Optional custom renderer for the inline disclosure field.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- header → Widget?
-
Optional leading content rendered above the first row in the picker.
final
- isPending → bool
-
Whether a spinner should be shown in place of the inline content.
final
- itemBuilder → Widget Function(ItemType item, bool isSelected)
-
Builds the widget for a single item.
final
- itemKeyOf → Object? Function(ItemType item)?
-
Maps an item to a stable logical key used for picker selection.
final
-
items
→ List<
ItemType> -
Available options presented in the picker page.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
-
onChanged
→ ValueChanged<
ItemType?> ? -
Called with the new selection (or
nullwhen dismissed without picking).final -
onRefresh
→ Future<
void> Function()? -
When non-null, the picker list supports pull-to-refresh.
final
- padding → EdgeInsetsGeometry?
-
Padding applied around the picker list view.
final
- pageTitle → String
-
Title shown by the picker surface presented on tap.
final
- readOnly → bool
-
When
true, the disclosure chevron is hidden and taps are ignored.final - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- selectedItem → ItemType?
-
The currently selected item, displayed inline.
final
- selectedKey → Object?
-
Stable selection key used together with itemKeyOf.
final
- separator → Widget?
-
Custom divider between rows in the picker list.
final
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
override
-
createElement(
) → StatelessElement -
Creates a StatelessElement to manage this widget's location in the tree.
inherited
-
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