Skip to content

Overlay ​

演示 ​

Overlay 跨端示例与演示

H5 Live浏览器运行时实时交互
遮罩层点击遮罩关闭

基础用法 ​

vue
<script setup lang="ts">
import { ref } from 'vue'

const visible = ref(false)
</script>

<template>
  <VButton @click="visible = true">
    打开遮罩
  </VButton>
  <VOverlay v-model:visible="visible" />
</template>

自定义层级和动画 ​

vue
<template>
  <VOverlay v-model:visible="visible" :z-index="3000" :duration="0.2" />
</template>

禁止点击遮罩关闭 ​

vue
<template>
  <VOverlay v-model:visible="visible" :close-on-click-overlay="false" />
</template>

Props ​

Prop类型默认值描述
visibleboolean | undefinedundefined受控显示状态
defaultVisiblebooleanfalse非受控初始显示状态
disabledboolean | undefinedundefined禁止内部触发显隐变更
zIndexnumber | stringundefined遮罩层级
durationnumber | stringundefined动画时长,数字按秒处理
lockScrollbooleanfalse显示时锁定页面滚动
closeOnClickOverlaybooleantrue点击遮罩是否关闭

Events ​

EventPayload描述
update:visibleboolean受控同步事件
visibleChangeboolean显隐状态变更
closevoid请求关闭
clickMouseEvent点击遮罩

Slots ​

Slot描述
default自定义遮罩层内容

Primitives

OverlayRoot 使用 useOverlayRoot 处理受控/非受控显隐和点击关闭;H5 与 Weapp primitives 都会复用 useBodyScrollLock。