build method
Build the widget.
Implementation
@override
Widget build(final BuildContext context) {
final invoke = action.invoke;
final activator = action.activator;
final selected = action.checked;
final controller = MenuController.maybeOf(context);
return CallbackShortcuts(
bindings: {
if (canCloseMenu)
const SingleActivator(LogicalKeyboardKey.escape): () {
if (controller != null && controller.isOpen) {
controller.close();
}
},
},
child: Semantics(
checked: selected,
selected: action.checked,
child: MenuItemButton(
autofocus: autofocus,
onPressed: () {
if (action.closeMenu ?? (action.checked == null)) {
controller?.close();
}
invoke?.call();
},
shortcut: activator,
trailingIcon: selected == null
? null
: SelectedIcon(selected: selected),
child: Text(action.name),
),
),
);
}