New file |
| | |
| | | <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> |