<template>
|
|
<uv-popup :safeAreaInsetBottom="false" :round="round" ref="popup">
|
|
<view class="toast">
|
|
<view class="title">
|
|
{{ title }}
|
|
</view>
|
|
<view class="content">
|
|
<slot></slot>
|
|
</view>
|
|
<view class="btns" v-if="!cancel">
|
|
<view class="btn" @click="$emit('confirm')">
|
|
{{ confirmText }}
|
|
</view>
|
|
</view>
|
|
<view class="btnstwo" v-else>
|
|
<view class="btn c" @click="$emit('cancel')">
|
|
{{ cancelText }}
|
|
</view>
|
|
<view class="btn" @click="$emit('confirm')">
|
|
{{ confirmText }}
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</uv-popup>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: 'toast',
|
|
props: {
|
|
title: {
|
|
default: ''
|
|
},
|
|
confirmText: {
|
|
default: '确认'
|
|
},
|
|
cancel: {
|
|
default: false
|
|
},
|
|
cancelText: {
|
|
default: '取消'
|
|
},
|
|
round: {
|
|
default: '40rpx'
|
|
}
|
|
},
|
|
methods: {
|
|
open() {
|
|
this.$refs.popup.open();
|
|
},
|
|
close() {
|
|
this.$refs.popup.close();
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.toast {
|
|
min-width: 500rpx;
|
|
|
|
.title {
|
|
min-height: 70rpx;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
font-size: 32rpx;
|
|
}
|
|
|
|
.content {
|
|
// min-height: 300rpx;
|
|
}
|
|
|
|
.btns {
|
|
display: flex;
|
|
padding: 30rpx;
|
|
|
|
.btn {
|
|
flex: 1;
|
|
background: $uni-linear-gradient-btn-color;
|
|
border-radius: 20rpx;
|
|
color: #fff;
|
|
padding: 20rpx 0;
|
|
text-align: center;
|
|
}
|
|
}
|
|
|
|
.btnstwo {
|
|
display: flex;
|
|
|
|
.btn {
|
|
flex: 1;
|
|
background: $uni-linear-gradient-btn-color;
|
|
color: #fff;
|
|
padding: 20rpx 0;
|
|
text-align: center;
|
|
}
|
|
|
|
.c {
|
|
background: #fff;
|
|
border-top: 1px solid #999;
|
|
color: #333;
|
|
}
|
|
}
|
|
}
|
|
</style>
|