Overlay 遮罩层

介绍

创建一个遮罩层,用于强调特定的页面元素,并阻止用户进行其他操作。

引入

  1. import { createApp } from 'vue';
  2. import { Overlay } from 'vant';
  3. const app = createApp();
  4. app.use(Overlay);

代码演示

基础用法

  1. <van-button type="primary" text="显示遮罩层" @click="show = true" />
  2. <van-overlay :show="show" @click="show = false" />
  1. export default {
  2. data() {
  3. return {
  4. show: false
  5. }
  6. }
  7. },

嵌入内容

通过默认插槽可以在遮罩层上嵌入任意内容。

  1. <van-overlay :show="show" @click="show = false">
  2. <div class="wrapper" @click.stop>
  3. <div class="block" />
  4. </div>
  5. </van-overlay>
  6. <style>
  7. .wrapper {
  8. display: flex;
  9. align-items: center;
  10. justify-content: center;
  11. height: 100%;
  12. }
  13. .block {
  14. width: 120px;
  15. height: 120px;
  16. background-color: #fff;
  17. }
  18. </style>

API

Props

参数说明类型默认值
show是否展示遮罩层booleanfalse
z-indexz-index 层级number | string1
duration动画时长,单位秒number | string0.3
class-name自定义类名string-
custom-style自定义样式object-
lock-scroll v2.6.2是否锁定背景滚动,锁定时蒙层里的内容也将无法滚动booleantrue

Events

事件名说明回调参数
click点击时触发event: Event

Slots

名称说明
default默认插槽,用于在遮罩层上方嵌入内容

样式变量

组件提供了下列 Less 变量,可用于自定义样式,使用方法请参考主题定制

名称默认值描述
@overlay-z-index1-
@overlay-background-colorrgba(0, 0, 0, 0.7)-

Overlay 遮罩层 - 图1