codecamp

Vant3 Overlay 遮罩层

介绍

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

实例演示

引入

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

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-index z-index 层级 number | string 1
duration 动画时长,单位秒,设置为 0 可以禁用动画 number | string 0.3
class-name 自定义类名 string -
custom-style 自定义样式 object -
lock-scroll 是否锁定背景滚动,锁定时蒙层里的内容也将无法滚动 boolean true

Events

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

Slots

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

样式变量

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

名称 默认值 描述
--van-overlay-z-index 1 -
--van-overlay-background-color rgba(0, 0, 0, 0.7) -


Vant3 Notify 消息提示
Vant3 PullRefresh 下拉刷新
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Vant3 废弃内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }