Skip to content

Overlay

演示

Overlay 跨端示例与演示

遮罩层点击遮罩关闭

基础用法

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