Skip to content

遮罩管理(useOverlay)

useOverlay 是一个遮罩层状态管理 Hook,计算全屏固定定位的遮罩样式,处理显示/隐藏生命周期,支持点击回调。

此 API 源码:GitHub

使用方式

vue
<template>
  <view v-if="visible" :style="overlayStyle" @click="handleClick">
    <view class="popup-content">内容</view>
  </view>
</template>

<script setup>
import { ref } from 'vue'
import { useOverlay } from 'see-u-ui'

const show = ref(false)
const { visible, overlayStyle, handleClick } = useOverlay({
  show,
  opacity: ref(0.5),
  onClick: () => { show.value = false }
})
</script>

API

useOverlay(options)

参数类型默认值说明
options.showRef<boolean>控制显示/隐藏的响应式状态
options.zIndexRef<number>undefinedz-index 层级
options.backgroundstring'var(--see-overlay-bg)'遮罩背景色
options.opacityRef<number>1遮罩透明度
options.durationnumber300动画时长(ms)
options.isAnimatedRef<boolean>true是否启用动画
options.onClick() => voidundefined点击遮罩回调

返回值:

属性/方法类型说明
visibleRef<boolean>遮罩是否可见
overlayZIndexComputedRef<number>计算后的 z-index
overlayStyleComputedRef<CSSProperties>遮罩层样式对象
onAfterEnter() => void进入动画完成回调
onAfterLeave() => void离开动画完成回调
handleClick() => void点击事件处理

辽 ICP 备 2025070134 号