Skip to content

Popover 弹出层

MoPopoverMoMenu 的触发、定位方式类似,但面板内容完全由插槽自定义,适合筛选器、快捷表单、信息卡片和操作面板。

基础用法

Light
Dark
vue
<MoPopover>
  <template #trigger="{ open }">
    <MoButton>{{ open ? "收起" : "打开" }}</MoButton>
  </template>

  <div>自定义内容</div>
</MoPopover>

表单内容

Light
Dark
vue
<MoPopover :width="360" placement="bottom-start">
  <template #trigger>
    <MoButton>筛选条件</MoButton>
  </template>

  <template #default="slotProps">
    <MoInput placeholder="请输入名称" />
    <MoButton @click="slotProps?.close?.()">应用</MoButton>
  </template>
</MoPopover>

位置和宽度

Light
Dark
vue
<MoPopover placement="bottom-end" :width="280">
  <template #trigger>
    <MoButton>打开</MoButton>
  </template>
  <div>自定义内容</div>
</MoPopover>

API

属性说明类型默认值
theme主题light | darklight
placement弹出位置auto | bottom-start | bottom-end | top-start | top-endauto
width面板宽度string | number320
zIndex面板层级number9999
teleported是否挂载到 bodybooleantrue
offset触发器和面板间距number8

Slots

插槽说明
trigger触发器,参数 { open }
default自定义面板内容,参数 { close }