Overlay 遮罩层
基本使用
<pk-overlay></pk-overlay>
代码示例
基础用法
创建一个遮罩层。
template
<pk-button block @click="show = !show">显示遮罩层</pk-button>
<pk-overlay v-model="show"></pk-overlay>
script
import { PkOverlay, PkButton } from "@pumpkin-ui/mobile"
import { ref } from 'vue'
const show = ref<boolean>(false)
自定义遮罩层颜色
通过background-color
设置自定义背景颜色。
template
<pk-button block @click="showCustomBg = !showCustomBg">自定义颜色</pk-button>
<pk-overlay v-model="showCustomBg" background-color="rgba(30, 56, 161,.3)"></pk-overlay>
script
import { PkOverlay, PkButton } from "@pumpkin-ui/mobile"
import { ref } from 'vue'
const showCustomBg = ref<boolean>(false)
禁止点击遮罩层关闭
通过close-on-press
为false关闭点击关闭。
template
<pk-button block @click="startShowNotCloseOnPress">禁止点击关闭(3s后自动关闭)</pk-button>
<pk-overlay v-model="showNotCloseOnPress" :close-on-press="false"></pk-overlay>
script
import { PkOverlay, PkButton } from "@pumpkin-ui/mobile"
import { ref } from 'vue'
const showNotCloseOnPress = ref<boolean>(false)
const startShowNotCloseOnPress = () => {
showNotCloseOnPress.value = true
setTimeout(() => {
showNotCloseOnPress.value = false
}, 3000)
}
设置z-index层级
通过z-index
设置层级。
template
<pk-button block @click="showZIndex = true">z-index层级为3</pk-button>
<pk-overlay v-model="showZIndex" :z-index="3"></pk-overlay>
script
import { PkOverlay, PkButton } from "@pumpkin-ui/mobile"
import { ref } from 'vue'
const showZIndex = ref<boolean>(false)
API
Props
属性名 | 说明 | 类型 | 默认值 | 可选值 |
---|---|---|---|---|
v-model | 是否显示遮罩层,双向绑定 | boolean | ||
background-color | 遮罩层背景颜色 | string | ||
close-on-press | 是否支持点击关闭 | boolean | true | |
z-index | 遮罩层层级,组件默认层级是css变量:--pk-z-index-max | number |
Events
事件名 | 说明 | 回调参数 |
---|---|---|
click | 点击遮罩层时触发 | (event: MouseEvent) => void |
onCloseByClick | 点击触发了关闭 | () => void |
Slots
插槽名 | 说明 |
---|---|
default | 默认插槽,遮罩层上添加内容 |
示例
以下是Overlay
插槽示例。
template
<pk-button block @click="showSlot = true">插槽</pk-button>
<pk-overlay v-model="showSlot">
<div @click.stop>内容内容</div>
</pk-overlay>
script
import { PkOverlay, PkButton } from "@pumpkin-ui/mobile"
import { ref } from 'vue'
const showSlot = ref<boolean>(false)
Exposes
名称 | 说明 | 类型说明 |
---|---|---|
showOverlay | 显示遮罩层 | ()=>void |
hideOverlay | 隐藏遮罩层 | ()=>void |
样式变量
名称 | 默认值 | 说明 |
---|---|---|
--pk-overlay-background | var(--pk-overlay-bg-color) | |
--pk-overlay-z-index | var(--pk-z-index-max) |