Skip to content

FxPopover 弹出框

点击 / 悬停触发元素时弹出的内容浮层。不依赖任何 UI 框架,基于 FxTooltip 浮层。

基础用法

trigger 控制触发方式(hover / click / focus / contextmenu,默认 hover),titlecontent 设置内容,也可用插槽。

出现位置

placement 控制弹出方向(top/bottom/left/right + start/end 方向)。

嵌套信息

content 插槽可渲染任意复杂内容(表格、表单等)。

嵌套操作

配合 v-model:visible 可在 content 里放操作按钮,实现类似确认框的交互。

虚拟触发

virtual-triggering + virtual-ref 可绑定外部任意元素作为触发源,无需用 reference 插槽包裹。

局部引入

ts
import { FxPopover } from "@fx/components"

API

Attributes

名称说明类型默认值
trigger触发方式'hover' | 'click' | 'focus' | 'contextmenu'hover
title标题string
content内容(也可用插槽)string
placement出现位置Placementbottom
width宽度string | numbermin-content
disabled是否禁用booleanfalse
visible (v-model:visible)是否显示boolean
offset偏移number
show-arrow是否显示箭头booleantrue
show-after / hide-after显示 / 隐藏延时(ms)number0 / 200
auto-close自动隐藏(ms)number0
enterable鼠标是否可进入booleantrue
effect主题'light' | 'dark'light
teleported是否 teleportbooleantrue
append-to挂载目标string | HTMLElementbody
persistent是否持久化booleantrue
popper-class / popper-style自定义类名 / 样式string | CSSProperties
transition动画名string
tabindextabindexstring | number
trigger-keys键盘触发键(KeyboardEvent.code)string[]['Enter','NumpadEnter','Space']
popper-options浮层定位配置(底层 @floating-uiRecord<string, any>
virtual-triggering ^(fx 增强)是否启用虚拟触发booleanfalse
virtual-ref ^(fx 增强)虚拟触发元素,配合 virtual-triggeringMeasurable

Slots

名称说明
reference触发元素
default触发元素(reference 无时)
content内容(覆盖 content prop,作用域参数 hide

Events

名称说明
before-enter / before-leave进出场前
after-enter / after-leave进出场后
update:visible显隐变化

实现说明

  • 浮层引擎基于 @floating-ui/dompopper-options 为 floating-ui 的配置
  • 虚拟触发通过 virtual-triggering + virtual-ref 实现,未提供指令语法糖
  • 图标走 @fx-core/icon,样式走 @fx/styles token,亮暗自动跟随