# Overlay 遮罩层

# 介绍

创建一个全局遮罩,在里面显示特定的元素

# 使用指南

# 一般用法

点击空白区域时隐藏

<tms-button bindtap="showOverlay">显示</tms-button>
<tms-overlay show="{{show}}">
    <view class="demo-content"/>
</tms-overlay>
Component({
  data: {
    show: false,
  },
  methods: {
    showOverlay() {
      this.setData({
        show:true,
      });
    },
  }
})

# 受控组件

点击空白区域不自动隐藏

<tms-button bindtap="showOverlay">显示</tms-button>
<tms-overlay show="{{show}}" hide-on-tap="{{ false }}" bind:on-click="onClickOverlay">
    <view class="demo-content"/>
</tms-overlay>
Component({
  data: {
    show: false,
  },
  methods: {
    showOverlay() {
      this.setData({
        show:true,
      });
    },
    onClickOverlay() {
      // 处理业务
      setTimeout(() => {
        this.setData({
          show: false,
        });
      }, 1900);
    },
  }
})

# API

属性 说明 类型 默认值 版本
show 控制显示隐藏组件 boolean false
duration 动画时长,单位毫秒。 number 250
z-index 组件元素z-index值 string 9999
effect 显示隐藏动画效果 scale-in scale-out string -
lock-scroll 阻止蒙层下的元素可响应手势滚动,也会导致弹窗内容不可滚动 boolean true
hide-on-tap 是否点击蒙版自动隐藏 boolean true
blur 蒙版毛玻璃效果 boolean false
center 垂直水平居中,horizontal-center为true时不生效 boolean true
horizontal-center 仅水平居中 boolean false

effect 可以配置下列两种值,如果同时添加两个效果,中间用空格隔开。

属性 说明
scale-in 显示动画由小到大
scale-out 隐藏动画由大到小

# EVENTS

属性 说明 类型
bind:on-click 点击空白区域事件 (event) => {}
bind:hide 点击空白区域自动隐藏后(动画结束)触发 (event) => {}

# CSS变量

// 遮罩层背景色
--overlay-background: rgba(0, 0, 0, .5);
// z-index
--overlay-z-index: 9999;
// 动画时长
--overlay-transition-duration: 250ms;

# FAQ