106 lines
1.8 KiB
Vue
106 lines
1.8 KiB
Vue
<template>
|
||
<view>
|
||
<view class="addall guodu" :class="{ unclass: !show }" :style="{ zIndex: showbox ? 220 : -2 }">
|
||
<view class="title">
|
||
请领详情
|
||
</view>
|
||
</view>
|
||
|
||
<view class="mengban" v-if="show" @click="() => emit('back')"></view>
|
||
</view>
|
||
</template>
|
||
|
||
<script setup>
|
||
import {
|
||
ref,
|
||
watch,
|
||
onMounted
|
||
} from 'vue'
|
||
|
||
const props = defineProps({
|
||
show: {
|
||
type: Boolean,
|
||
default: false
|
||
},
|
||
font: {
|
||
type: String,
|
||
default: ''
|
||
},
|
||
plsbuy: {
|
||
type: Object,
|
||
// default: () => ({})
|
||
}
|
||
})
|
||
|
||
// 暴露给模板的 emit
|
||
const emit = defineEmits(['back'])
|
||
|
||
const showbox = ref(false)
|
||
|
||
// 监听 show,保留你原来的逻辑:show 为 true 时延迟 50ms 再把 showbox 设为 true,false 时立即关掉
|
||
watch(
|
||
() => props.show,
|
||
(n) => {
|
||
if (n) {
|
||
setTimeout(() => {
|
||
showbox.value = true;
|
||
console.log('plsbuy =>', props.plsbuy)
|
||
}, 50)
|
||
|
||
} else {
|
||
showbox.value = false
|
||
}
|
||
}
|
||
)
|
||
|
||
// mounted 中打印 plsbuy(你要的行为)
|
||
onMounted(() => {
|
||
|
||
})
|
||
</script>
|
||
|
||
<style scoped lang="less">
|
||
.addall {
|
||
width: 55vw;
|
||
height: 50vw;
|
||
background: #FFFFFF;
|
||
box-shadow: 0rpx 0rpx 1.3vw 0rpx rgba(163, 167, 182, 0.16);
|
||
border-radius: 1.6vw;
|
||
position: fixed;
|
||
top: 0;
|
||
left: 0;
|
||
right: 0;
|
||
bottom: 0;
|
||
margin: auto;
|
||
padding: 1.5vw 2.2vw;
|
||
z-index: 9120;
|
||
}
|
||
|
||
.unclass {
|
||
opacity: 0 !important;
|
||
}
|
||
|
||
.guodu {
|
||
transition: .4s;
|
||
-webkit-transform-style: preserve-3d;
|
||
-webkit-overflow-scrolling: touch;
|
||
}
|
||
|
||
.mengban {
|
||
width: 100vw;
|
||
height: 100vh;
|
||
position: fixed;
|
||
top: 0;
|
||
left: 0;
|
||
z-index: 100;
|
||
background: RGBA(239, 240, 244, 0.55);
|
||
}
|
||
.title{
|
||
height: 6vh;
|
||
width: 100%;
|
||
// background-color: red;
|
||
font-size: 38rpx;
|
||
font-weight: 600;
|
||
border-bottom: 2rpx solid #E5E5E5;
|
||
}
|
||
</style> |