QMenu 组件是显示菜单的一种便捷方式。与 QList 作为下拉内容配合使用效果非常好,但它绝不限于此。
用法
QMenu 的思路是将其放置在您希望作为触发器的 DOM 元素/组件内部作为直接子元素。不用担心 QMenu 内容继承容器的 CSS,因为 QMenu 将作为 <body>
的直接子元素通过 Quasar Portal 注入。
提示
如果您希望菜单自动关闭,请不要忘记在可点击的菜单项中使用指令 v-close-popup
。或者,您可以使用 QMenu 的属性 auto-close
或通过其 v-model 自己处理关闭菜单。
基本
警告
如果您想有条件地激活或停用 QMenu,请使用 v-if
而不是 v-show
。
子菜单
大小和样式
上下文菜单
您还可以将 QMenu 设置为上下文菜单。在桌面端,您需要右键单击父目标以触发它,在移动端,长按即可。
持久化
如果您希望 QMenu 在应用程序路由更改或按下 ESCAPE 键或单击/点击菜单外部时不关闭,则使用 persistent
属性
过渡
在下面的示例中展示了一些过渡。有关可用过渡的完整列表,请转到 过渡。
可重用
下面的示例显示了如何创建可与不同目标共享的可重用菜单。
定位
可以自定义 QMenu 的位置。它考虑了 anchor
和 self
可选属性。QMenu 弹出窗口的最终位置是计算出来的,以便它显示在可用的屏幕空间上,并在必要时切换到右侧和/或顶侧。
对于水平定位,当您希望自动考虑是否为 RTL 或非 RTL 时,可以使用 start
和 end
。 start
和 end
分别表示非 RTL 的“左”和 RTL 的“右”。
拟合
覆盖
锚点原点
垂直
顶部
中心
底部
水平
左边
中间
右边
开始
结束
自身原点
垂直
顶部
中心
底部
水平
左边
中间
右边
开始
结束
<q-menu anchor="bottom left" self="top left">
<q-item clickable>
<q-item-section>New tab</q-item-section>
</q-item>
<q-item clickable>
<q-item-section>New incognito tab</q-item-section>
</q-item>
</q-menu>
内容粘贴