Popover 弹出气泡
点击/鼠标移入元素,弹出气泡式的卡片浮层。在内容周围弹出一些隐藏的信息。和 Tooltip 的区别是,用户可以对浮层上的元素进行操作,因此它可以承载更复杂的内容,比如链接或按钮等。
演示
基础用法
最简单的用法,通过 content 传递浮层内容。
触发方式
两种触发方式:鼠标移入[hover]、点击[click];通过 trigger 属性设置触发方式。
位置
有 12 个弹出位置。通过 placement 属性设置弹出位置。
非受控模式
不需要自动弹出,需要进行手动控制是否展示;通过传递 visible 属性设置是否展示,然后设置 to 属性指向弹层对标节点。
不显示箭头
通过传递 show-arrow 为 false 来取消箭头显示
API
Popover Props
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
trigger | 触发方式, manual 非受控模式, 手动调用 show 显示, hide 隐藏 | hover、click、manual | hover |
content | 显示内容, 也可以通过 default-slot 显示 | string | - |
placement | 弹出位置 | top-start、top、top-end、left-start、left、left-end、right-start、right、right-end、bottom-start、bottom、bottom-end | top |
reference | 非受控模式, 手动指定目标元素 | HTMLElement | string | Ref<HTMLElement> | - |
destroy-on-hide | 隐藏时销毁 DOM 结构; false 隐藏时未销毁只是设置 display: none | boolean | false |
Popover Slots
| 名称 | 说明 |
|---|---|
default | 自定义内容 |
trigger | 自定义触发元素 |
Popover Exposes
| 名称 | 说明 | 类型 |
|---|---|---|
hide | 隐藏弹层 | () => void |
show | 非受控模式, 显示弹层 | (reference?: HTMLElement | string | Ref<HTMLElement>) => void |
isShow | 是否显示 | () => boolean |
toggle | 非受控模式, 切换弹层显示或隐藏 | (reference?: HTMLElement | string | Ref<HTMLElement>) => void |
updatePosition | 更新弹层位置 | (reference?: HTMLElement | string | Ref<HTMLElement>) => void |