<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: 'wx' }, { 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>