为什么捐赠
API 浏览器
联系站长
Close Popup 指令

这是一个与 QDialogQMenu 搭配使用的辅助指令。当 DOM 元素或组件绑定了该指令后,点击/触摸该元素时会关闭其最近的父级 QDialog 或 QMenu。

正在加载 ClosePopup API...

用法

基础用法

With a QMenu



With a QDialog



关闭多层弹层

您还可以通过为指令传入一个层级数值来关闭多层弹层:

<... v-close-popup="3">
  • 如果值为 0 或布尔值 false,则禁用该指令
  • 如果值小于 0,则关闭链路上的所有弹层
  • 如果值为 1 或布尔值 true 或 undefined,则只关闭最近的父级弹层
  • 如果值大于 1,则关闭指定数量的父级弹层(注意:链式 QMenu 只算作 1 层,QPopupProxy 会分隔链式菜单)

注意下方示例中,链式 QMenu(直接嵌套的菜单)不需要指定多个层级。当 v-close-popup 用于链式 QMenu 时,所有直接嵌套的 QMenu 只算作一层。

Menu tree



在下面的示例中,菜单使用了 2 层关闭,这意味着它也会关闭父级的 dialog:

Dialog with menu



注意下方示例中,内层 dialog 是外层 dialog 的子组件。只有在这种父子关系下,v-close-popup 才能通过设置多层级来同时关闭两个 dialog。如果两个 dialog 是兄弟关系(或其他非父子关系的场景),您需要自行通过 v-model 来控制它们的关闭。

Dialog in Dialog