|
|
<template> <view class="uni-popup-share"> <view class="uni-share-title"><text class="uni-share-title-text">{{shareTitleText}}</text></view> <view class="uni-share-content"> <view class="uni-share-content-box"> <view class="uni-share-content-item" v-for="(item,index) in bottomData" :key="index" @click.stop="select(item,index)"> <image class="uni-share-image" :src="item.icon" mode="aspectFill"></image> <text class="uni-share-text">{{item.text}}</text> </view>
</view> </view> <view class="uni-share-button-box"> <button class="uni-share-button" @click="close">{{cancelText}}</button> </view> </view> </template>
<script> import popup from '../uni-popup/popup.js' import { initVueI18n } from '@dcloudio/uni-i18n' import messages from '../uni-popup/i18n/index.js' const { t } = initVueI18n(messages) export default { name: 'UniPopupShare', mixins:[popup], emits:['select'], props: { title: { type: String, default: '' }, beforeClose: { type: Boolean, default: false } }, data() { return { bottomData: [{ text: '微信', icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/c2b17470-50be-11eb-b680-7980c8a877b8.png', name: 'wx' }, { text: '支付宝', icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/d684ae40-50be-11eb-8ff1-d5dcf8779628.png', name: 'ali' }, { text: 'QQ', icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/e7a79520-50be-11eb-b997-9918a5dda011.png', name: 'qq' }, { text: '新浪', icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/0dacdbe0-50bf-11eb-8ff1-d5dcf8779628.png', name: 'sina' }, // {
// text: '百度',
// icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/1ec6e920-50bf-11eb-8a36-ebb87efcf8c0.png',
// name: 'copy'
// },
// {
// text: '其他',
// icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/2e0fdfe0-50bf-11eb-b997-9918a5dda011.png',
// name: 'more'
// }
] } }, created() {}, computed: { cancelText() { return t("uni-popup.cancel") }, shareTitleText() { return this.title || t("uni-popup.shareTitle") } }, methods: { /** * 选择内容 */ select(item, index) { this.$emit('select', { item, index }) this.close()
}, /** * 关闭窗口 */ close() { if(this.beforeClose) return this.popup.close() } } } </script> <style lang="scss" > .uni-popup-share { background-color: #fff; border-top-left-radius: 11px; border-top-right-radius: 11px; } .uni-share-title { /* #ifndef APP-NVUE */ display: flex; /* #endif */ flex-direction: row; align-items: center; justify-content: center; height: 40px; } .uni-share-title-text { font-size: 14px; color: #666; } .uni-share-content { /* #ifndef APP-NVUE */ display: flex; /* #endif */ flex-direction: row; justify-content: center; padding-top: 10px; }
.uni-share-content-box { /* #ifndef APP-NVUE */ display: flex; /* #endif */ flex-direction: row; flex-wrap: wrap; width: 360px; }
.uni-share-content-item { width: 90px; /* #ifndef APP-NVUE */ display: flex; /* #endif */ flex-direction: column; justify-content: center; padding: 10px 0; align-items: center; }
.uni-share-content-item:active { background-color: #f5f5f5; }
.uni-share-image { width: 30px; height: 30px; }
.uni-share-text { margin-top: 10px; font-size: 14px; color: #3B4144; }
.uni-share-button-box { /* #ifndef APP-NVUE */ display: flex; /* #endif */ flex-direction: row; padding: 10px 15px; }
.uni-share-button { flex: 1; border-radius: 50px; color: #666; font-size: 16px; }
.uni-share-button::after { border-radius: 50px; } </style>
|