猫妈狗爸伴宠师小程序前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

93 lines
1.6 KiB

<template>
<up-popup
:show="show"
round="16rpx"
@open="open"
@close="close"
>
<view class="popup">
<view class="popup-header">
<text class="popup-title">{{ props.title }}</text>
<text class="popup-desc">{{ props.desc }}</text>
</view>
<view class="popup-content">
<slot></slot>
</view>
<view class="popup-footer">
<slot name="footer">
<button class="flex-rowc btn" plain @click="onConfirm">确定</button>
</slot>
</view>
</view>
</up-popup>
</template>
<script setup>
import { ref } from 'vue'
const props = defineProps({
title: {
type: String,
default: '',
},
desc: {
type: String,
default: '',
}
})
const emit = defineEmits(['confirm'])
const show = ref(false)
const open = () => {
show.value = true
}
const close = () => {
show.value = false
}
const onConfirm = () => {
emit('confirm')
close()
}
defineExpose({ open, close })
</script>
<style lang="scss" scoped>
.popup {
padding: 45rpx 28rpx 28rpx 28rpx;
&-header {
margin-bottom: 35rpx;
}
&-title {
color: #000000;
font-weight: 700;
font-size: 30rpx;
line-height: 40rpx;
}
&-desc {
color: #C7C7C7;
font-size: 22rpx;
}
}
.btn {
width: 594rpx;
height: auto;
padding: 27rpx 0;
box-sizing: border-box;
border: none;
background-color: #FFBF60;
color: #FFFFFF;
font-size: 30rpx;
line-height: 40rpx;
border-radius: 41rpx;
}
</style>