# 介绍

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

# 引入

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

"usingComponents": {
  "mx-overlay": "/miniprogram_npm/m-ui/mx-overlay/index",
}

# 小程序码

可使用微信扫码查看小程序码

#

# 代码演示

# 基本用法

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

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

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

# 嵌入内容

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

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

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

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

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

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

# API

# Props

参数 说明 类型 默认值
show 是否展示遮罩层 boolean false
z-index z-index 层级 string、number 1
duration 动画时长,单位秒 string、number 0.3
class-name 自定义类名 string -
custom-style 自定义样式 string -
lock-scroll 是否锁定背景滚动,锁定时蒙层里的内容也将无法滚动 boolean true

# Event

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

# Slot

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