Skip to content

浮动 (Popover)

Basic

Placement

结合 Showable

HiPopover 内部基于 ShowableuseShowableContextProvider 管理显隐,并对外暴露 showclose。可将 showableRef 绑定到 HiPopover,在外部通过 popoverRef?.show() 打开气泡框。

vue
<script setup>
import { showableRef } from "hoci";

const popoverRef = showableRef();
</script>

<template>
  <button @click="popoverRef?.show()">
    外部打开
  </button>
  <hi-popover ref="popoverRef" trigger-event="click">
    <button>触发器</button>
    <template #popup>
      内容
    </template>
  </hi-popover>
</template>

Popover 参数

名称类型默认值说明
popupClassstring-气泡层根节点 class
placementPlacement"auto"气泡相对触发元素的位置:bottomtopleftrightautotop-lefttop-rightbottom-leftbottom-rightleft-topleft-bottomright-topright-bottom
triggerEventTriggerEvent"hover"触发方式:clickmousedowndblclickhovercontextmenufocustouch
offsetnumber8气泡与触发元素间距(px)
lazybooleanfalsetrue 时,hover 触发需悬停更久才打开(约 800ms)
visiblebooleanfalse是否显示,支持 v-model:visible
disabledbooleanfalse是否禁用触发
teleportstring | HTMLElement | booleantrue气泡挂载目标,truebodyfalse 不 Teleport
asstring"div"触发区域根节点标签名

Popover 事件

名称说明
update:visiblevisible 变化时触发,用于 v-model:visible
change显隐状态变化时触发,参数为当前是否显示 (value: boolean)

Ref 暴露方法

通过 ref 绑定组件后,可调用以下方法:

方法说明
show()打开气泡框
close()关闭气泡框