IvyLabs Design BostonIvy 爬山虎 v0.8.0

组件 · 导航与反馈

Menu

菜单:按钮或右键打开的一列操作。用于任务的更多操作、排序和显示选项、新建菜单。

调用方提供:items,每项是 { icon, label, shortcut, onSelect, danger, disabled, submenu };可勾选的项传 checked(单选组再加 radio: true);分组用 { heading },分隔线用 { separator: true }。label 是菜单的读屏名称,onClose 由 Esc 触发。

行为:上下方向键在可用项之间移动并循环,Home / End 到两端,Enter 或空格执行。打开时把焦点放在第一项(autoFocus),关闭后焦点回到触发按钮(由触发按钮负责)。菜单相对触发按钮定位,空间不够时翻到另一侧。

写法

Flutter:主题里已经设好 menuTheme 和 popupMenuTheme;用 MenuAnchor + BiMenuItem(icon:, label:, shortcut:, danger:, onPressed:)。

预览