Skip to content

Popover 气泡卡片

展示比 Tooltip 更丰富的承载内容,常用于展示详细信息、表单提交或用户引导。

基础用法

通过 titlecontent 快速配置标准卡片。

基础用法

弹出位置

支持 12 个方向的弹出定位。

弹出位置

功能对齐 (Popconfirm)

Popover 支持像 Popconfirm 一样配置结构化的内容,包括图标、标题和描述。

功能对齐示例

触发方式

支持 hoverclickfocuscontextmenu 多种触发方式。支持触发方式的组合,如 ['hover', 'click']

触发方式

高级插槽内容

支持 headercontentfootericon 插槽,可实现极富表现力的复杂 UI。

高级插槽内容

受控显隐

通过 v-model:visible 实现手动组件状态同步。

手动控制

在 Nuxt 中使用

Popover 组件完全支持 Nuxt 3/4 的 SSR 渲染。在 Nuxt 项目中使用时,组件会自动导入,无需手动注册。

Nuxt 中使用

SSR 注意事项

  • ✅ 完美支持服务端渲染 (SSR),无水合错误
  • ✅ 自动感知全局暗黑模式
  • ✅ 支持所有的 Props 和 插槽
  • ✅ 浮层容器自动 Teleport 至 body 确保层级正确

SSR 透明度

Popover 组件使用了 Backdrop-filter 亚克力效果,在 SSR 环境下会自动降级为纯色直到客户端激活,确保极致的载入性能。

API

Props

属性说明类型默认值
title标题string-
description描述文字 (同 Popconfirm)string-
icon图标名称 (同 Popconfirm)string-
icon-color图标颜色string-
content内容内容文字string-
placement弹出位置Placement'bottom'
visible手动控制可见性boolean | nullnull
trigger触发方式PopoverTrigger | PopoverTrigger[]'click'
effect主题风格'light' | 'dark''light'
disabled是否禁用booleanfalse
show-arrow是否显示小三角booleantrue
show-after出现延迟 (ms)number0
hide-after隐藏延迟 (ms)number100
offset偏移量[number, number][0, 12]
width弹出层宽度string | number'auto'
max-height最大高度 (配合 scrollable)string | number'none'
scrollable内容是否可滚动booleanfalse
interactive是否允许鼠标进入提示框booleantrue
visible手动控制可见性boolean | nullnull
match-trigger-width是否跟随触发器宽度booleanfalse
z-index层级number2003
teleported是否挂载至 bodybooleantrue
popper-class弹出层自定义类名string-
popper-style弹出层自定义样式CSSProperties{}
transition动画名称string'yh-popover-fade'
persistent隐藏时是否持久化 DOMbooleantrue

Events

事件名称说明回调参数
update:visible可见性状态改变时触发(visible: boolean)
show显示时触发-
hide隐藏时触发-

Slots

插槽名说明
default触发元素
header自定义头部/标题内容
content自定义主体内容 (会覆盖 content 属性)
icon自定义图标
footer自定义底部操作区

Expose

名称说明类型
toggle手动切换显隐状态(val: boolean) => void
visible当前是否可见Ref<boolean>

主题变量 (CSS Variables)

组件支持通过以下 CSS 变量深度定制外观。所有颜色变量已与全局主题系统对接,自动支持暗黑模式:

变量名默认值描述
--yh-popover-bgvar(--yh-bg-color-overlay)气泡背景色 (暗黑模式下自动切换)
--yh-popover-bordervar(--yh-border-color-light)边框颜色
--yh-popover-textvar(--yh-text-color-primary)主要文字颜色
--yh-popover-text-secondaryvar(--yh-text-color-secondary)次要文字颜色
--yh-popover-radiusvar(--yh-radius-lg)气泡圆角
--yh-popover-shadowvar(--yh-shadow-lg)气泡阴影
--yh-popover-title-sizevar(--yh-font-size-md)标题字号

提示: Popover 深度集成底层 Tooltip 引擎,性能极佳,支持 12 个方向弹出且完美适配 Nuxt SSR 方案。

Released under the MIT License.