YuePopover 弹出层
YuePopover 是一个非模态 detached 浮层,用于在触发元素附近展示可交互内容。它处理定位、碰撞翻转、Teleport、outside/Escape 关闭、嵌套层级和焦点恢复;菜单导航、模态对话框和 tooltip 专用策略由专用组件负责。
定位与交互内容
Popover 只负责把内容放到锚点附近。placement 是首选位置,空间不足时会自动 flip/shift;内容里的表单控件仍然是调用方的真实控件。
Trigger 模式
click 适合稳定的操作面板;hover 与 focus 适合短说明。两者都通过同一个 trigger 插槽传递属性,不会把事件偷偷附加到错误的元素。
外部锚点与手动控制
没有 trigger 插槽时,anchor 提供定位参照物;trigger="manual" 表示组件不安装自动打开/关闭事件,状态完全由调用方掌握。
关闭策略与事件
close-on-content-click 用于完成按钮、选择后关闭等短流程;close 事件会给出 trigger、outside、escape 或 programmatic 原因。
最近一次关闭:尚未关闭
典型用法
vue
<YuePopover placement="bottom-start">
<template #trigger="{ props }">
<YueButton v-bind="props">筛选</YueButton>
</template>
<FilterPanel />
</YuePopover>组件会在可用空间不足时自动翻转和吸附;滚动、resize 与内容尺寸变化会自动重新定位。