Back to Vant Weapp

Overlay 遮罩层

packages/overlay/README.md

1.11.72.4 KB
Original Source

Overlay 遮罩层

介绍

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

引入

app.jsonindex.json中引入组件,详细介绍见快速上手

json
"usingComponents": {
  "van-overlay": "@vant/weapp/overlay/index"
}

代码演示

基础用法

html
<van-button type="primary" bind:click="onClickShow">显示遮罩层</van-button>
<van-overlay show="{{ show }}" bind:click="onClickHide" />
js
Page({
  data: {
    show: false,
  },

  onClickShow() {
    this.setData({ show: true });
  },

  onClickHide() {
    this.setData({ show: false });
  },
});

嵌入内容

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

html
<van-button type="primary" bind:click="onClickShow">嵌入内容</van-button>
<van-overlay show="{{ show }}" bind:click="onClickHide">
  <view class="wrapper">
    <view class="block" catch:tap="noop" />
  </view>
</van-overlay>
js
Page({
  data: {
    show: false,
  },

  onClickShow() {
    this.setData({ show: true });
  },

  onClickHide() {
    this.setData({ show: false });
  },

  noop() {},
});
css
.wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.block {
  width: 120px;
  height: 120px;
  background-color: #fff;
}

API

Props

参数说明类型默认值
show是否展示遮罩层booleanfalse
z-indexz-index 层级string | number1
duration动画时长,单位秒string | number0.3
class-name自定义类名string-
custom-style自定义样式string-
lock-scroll v1.7.3是否锁定背景滚动,锁定时蒙层里的内容也将无法滚动booleantrue
root-portal v1.10.14是否从页面中脱离出来,用于解决各种 fixed 失效问题,微信基础库 >= 2.25.2 booleanfalse

Events

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

Slots

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

外部样式类

类名说明
custom-class根节点样式类