关闭弹出指令

在处理QDialogQMenu组件时,此伪指令是一个辅助。 当附加到DOM元素或组件时,单击/点击该组件将关闭QDialog或QMenu(以第一个父元素为准)。

安装

/*
 * No installation step is necessary.
 * It gets installed by default by @quasar/app v2+.
 */

用法

基础

With a QMenu
With a QDialog

关闭多个级别

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

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

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

Menu tree

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

Dialog with menu

注意下面的内容,内部对话框是主对话框的子级。 这是v-close-popup在使用多个级别时能够关闭两个对话框的唯一方法。 否则,如果对话框是同级对话框(或一个对话框不是另一个对话框的子对话框的任何其他类似情况),则您将不得不在对话框上使用v-model并自己处理两个对话框的关闭。

Dialog in Dialog

ClosePopup API

Loading API...
Please wait...