1.0.5 • Published 1 month ago

@tanzhenxing/zx-overlay v1.0.5

Weekly downloads
-
License
ISC
Repository
-
Last release
1 month ago

zx-overlay 遮罩层组件

创建一个遮罩层,用于强调特定的页面元素,并阻止用户对遮罩下层的内容进行操作,一般用于弹窗场景。

特性

  • 支持自定义透明度
  • 支持自定义z-index层级
  • 支持定制动画时长
  • 支持添加自定义内容
  • 支持控制点击行为

属性说明

属性名类型默认值说明
showBooleanfalse是否显示遮罩
zIndexString/Number10070z-index 层级
durationString/Number500动画时长,单位毫秒
opacityString/Number0.5不透明度值,当做rgba的第四个参数
customStyleObject{}定义需要用到的外部样式
closeOnClickOverlayBooleantrue点击遮罩是否关闭
lockScrollBooleantrue是否锁定背景滚动

事件说明

事件名称说明回调参数
click点击遮罩发送事件-
open遮罩打开动画结束时触发-
close遮罩关闭动画结束时触发-

插槽说明

名称说明
default遮罩层内容

基础用法

<template>
  <zx-overlay :show="show" @click="show = false"></zx-overlay>
</template>

<script setup>
import { ref } from 'vue';

const show = ref(false);
</script>

自定义内容

<template>
  <zx-overlay :show="show" @click="show = false">
    <view class="content">
      <text>自定义内容</text>
    </view>
  </zx-overlay>
</template>

<script setup>
import { ref } from 'vue';

const show = ref(false);
</script>

<style scoped>
.content {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
</style>

自定义透明度

<template>
  <zx-overlay :show="show" :opacity="0.8" @click="show = false"></zx-overlay>
</template>

禁止点击遮罩关闭

<template>
  <zx-overlay :show="show" :close-on-click-overlay="false" @click="clickHandler"></zx-overlay>
</template>

<script setup>
import { ref } from 'vue';

const show = ref(false);

const clickHandler = () => {
  // 自定义点击处理
  console.log('遮罩被点击');
};
</script>

锁定背景滚动

<template>
  <zx-overlay :show="show" :lock-scroll="true" @click="show = false"></zx-overlay>
</template>