Vant4 Vant4 Overlay 遮罩层

2024-02-25 开发教程 Vant4 匿名 3

介绍

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

引入

通过以下方式来全局注册组件,更多注册方式请参考组件注册。

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

代码演示

基础用法

<van-button type="primary" text="显示遮罩层" @click="show = true" />
<van-overlay :show="show" @click="show = false" />
import { ref } from 'vue';
export default {
setup() {
const show = ref(false);
return { show };
},
};

嵌入内容

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

<van-overlay :show="show" @click="show = false">
<div class="wrapper" @click.stop>
<div class="block" />
</div>
</van-overlay>
<style>
.wrapper {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}
.block {
width: 120px;
height: 120px;
background-color: #fff;
}
</style>

API

Props

参数说明类型默认值
show是否展示遮罩层

boolean

false

z-indexz-index 层级

number | string

1

duration动画时长,单位秒,设置为 0 可以禁用动画

number | string

0.3

class-name自定义类名

string

-
custom-style自定义样式

object

-
lock-scroll是否锁定背景滚动,锁定时蒙层里的内容也将无法滚动

boolean

true

lazy-render v3.4.2

是否在显示时才渲染节点

boolean

true

Events

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

event: MouseEvent

Slots

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

类型定义

组件导出以下类型定义:

import type { OverlayProps } from 'vant';

主题定制

样式变量

组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件。

名称默认值描述
--van-overlay-z-index

1

-
--van-overlay-background

rgba(0, 0, 0, 0.7)

-