为什么捐赠
API 浏览器
关闭弹出窗口指令

这个指令在处理 QDialogQMenu 组件时是一个助手。当它附加到 DOM 元素或组件时,该组件将在点击/轻触时关闭 QDialog 或 QMenu(以先出现的为准)。

正在加载 ClosePopup API...

用法

基本用法

使用 QMenu



使用 QDialog



关闭多个层级

您还可以通过向指令提供一个层级号来关闭多个层级的弹出窗口

<... v-close-popup="3">
  • 如果值为 0 或布尔值 false 则指令被禁用
  • 如果值为 < 0 则它会关闭链中所有弹出窗口
  • 如果值为 1 或布尔值 true 或未定义,则它只关闭父级弹出窗口
  • 如果值为 > 1 则它会关闭链中指定数量的父级弹出窗口(注意,链式 QMenus 被视为一个弹出窗口,而 QPopupProxy 将链式菜单分开)

请注意,在下面的示例中,链式 QMenus(一个直接放在另一个下面)不需要您指定多个层级。当 v-close-popup 在链式 QMenu 中使用时,它将所有直接链式 QMenus 视为一个层级。

菜单树



在下面的示例中,菜单使用 2 个层级,这意味着它也会关闭对话框,因为对话框是它的父级

带有菜单的对话框



请注意,下面的内部对话框是主对话框的子级。这是唯一一种使用多个层级时,v-close-popup 可以同时关闭两个对话框的方法。否则,如果对话框是兄弟节点(或任何其他类似的场景,其中一个对话框不是另一个的子级),您将不得不使用对话框上的 v-models 并自己处理两个对话框的关闭操作。

对话框中的对话框