ZdsPopupMenu<T> class

Creates a popup menu.

This component is typically used to display more options that do not fit in a ZdsAppBar, or to show more options in a specific widget, like a ZdsListTile

This popup menu should typically be populated with ZdsPopupMenuItem.

ZdsPopupMenu(
  onSelected: (String value) => manageValue(value),
  builder: (context, open) => IconButton(
    onPressed: open,
    icon: Icon(ZdsIcons.more_vert),
  ),
  items: [
    ZdsPopupMenuItem(
      value: 'Week',
      child: ListTile(title: Text('Week')),
    ),
    ZdsPopupMenuItem(
      value: 'Month',
      child: ListTile(title: Text('Month')),
    ),
  ],
),

See also:

  • ZdsPopupMenuItem, used to create the options that appear in this menu.
  • ZdsAppBar, where this component is used to show more actions that do not typically fit.
Inheritance
Available extensions

Constructors

ZdsPopupMenu({required Widget builder(BuildContext, VoidCallback ), required List<PopupMenuEntry<T>> items, Key? key, PopupMenuCanceled? onCanceled, PopupMenuItemSelected<T>? onSelected})
Creates a pop up menu.
const

Properties

builder Widget Function(BuildContext, VoidCallback )
Defines how this component will appear on screen.
final
hashCode int
The hash code for this object.
no setterinherited
items List<PopupMenuEntry<T>>
The options that will appear when this menu is tapped.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onCanceled PopupMenuCanceled?
A function called whenever the user doesn't select an item and instead closes the menu.
final
onSelected PopupMenuItemSelected<T>?
A function called whenever an item is selected.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() ZdsPopupMenuState<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.
override
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