125 lines
3.5 KiB
Vue
125 lines
3.5 KiB
Vue
|
<template>
|
|||
|
<view style="width:680rpx">
|
|||
|
<view class="modal-box " :class="isVisibility?'show':''" @touchmove.stop.prevent="moveHandleStop">
|
|||
|
<view class="dialog">
|
|||
|
<view class="simple-bar justify-end has-borderb" v-if="title != '' ">
|
|||
|
<view class='content'>{{title}}</view>
|
|||
|
</view>
|
|||
|
<view :class="contentClass" v-bind:style="'text-align:'+messageAlign">{{message}}</view>
|
|||
|
<view class="simple-bar has-bordert">
|
|||
|
<view class='action has-mg-0 flex-sub text-green' v-if="showCancelButton == true" @tap='handleClose'>{{cancelButtonText}}</view>
|
|||
|
<view class='action has-mg-0 flex-sub has-borderl' v-if="showConfirmButton == true" @tap='handleConfirm'>{{confirmButtonText}}</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
/**
|
|||
|
* 弹窗插件
|
|||
|
* 使用方法:
|
|||
|
* 1.引入组件:import simpleDialog from '@/components/simple-pro/dialog.vue';
|
|||
|
* 2.定义:components ,simpleDialog
|
|||
|
* 3.页面使用:<simpleDialog ref="simpleDialog2"></simpleDialog>
|
|||
|
* 4.指定方法 this.$refs.simpleDialog2.func();
|
|||
|
*
|
|||
|
* 自定义方法:
|
|||
|
* 1. alert() ; 支持在方法中传入 object 更改内容 该方法仅弹出一个按钮 (如果传入了object参数 其中的参数值优先级最高)
|
|||
|
* 2. confirm(); 同理 可传入object参数 该方法支持确定、取消 按钮 (如果传入了object参数 其中的参数值优先级最高)
|
|||
|
*/
|
|||
|
export default {
|
|||
|
props: {
|
|||
|
title: {
|
|||
|
type: String,
|
|||
|
default: ''
|
|||
|
},
|
|||
|
message: {
|
|||
|
type: String,
|
|||
|
default: '你怎么会看到我^_^'
|
|||
|
},
|
|||
|
contentClass:{
|
|||
|
type :String,
|
|||
|
default:'has-pd-50 has-bg-white',
|
|||
|
},
|
|||
|
// 内容对齐方式 center | left | right
|
|||
|
messageAlign: {
|
|||
|
type: String,
|
|||
|
default: 'center'
|
|||
|
},
|
|||
|
// 是否显示确认按钮
|
|||
|
showConfirmButton: {
|
|||
|
type: Boolean,
|
|||
|
default: true
|
|||
|
},
|
|||
|
// 是否显示取消按钮
|
|||
|
showCancelButton: {
|
|||
|
type: Boolean,
|
|||
|
default: false
|
|||
|
},
|
|||
|
// 确定按钮的文案
|
|||
|
confirmButtonText: {
|
|||
|
type: String,
|
|||
|
default: '确定'
|
|||
|
},
|
|||
|
// 取消按钮的文案
|
|||
|
cancelButtonText: {
|
|||
|
type: String,
|
|||
|
default: '取消'
|
|||
|
}
|
|||
|
},
|
|||
|
|
|||
|
data() {
|
|||
|
return {
|
|||
|
isVisibility: false
|
|||
|
};
|
|||
|
},
|
|||
|
methods: {
|
|||
|
__show() {
|
|||
|
this.isVisibility = true;
|
|||
|
},
|
|||
|
__close() {
|
|||
|
this.isVisibility = false;
|
|||
|
},
|
|||
|
__setconfig(options){
|
|||
|
if(options != undefined && (typeof options == "object") ){
|
|||
|
if (options['title']!=undefined) this.title = options['title']
|
|||
|
if (options['message']!=undefined) this.message = options['message']
|
|||
|
if (options['contentClass']!=undefined) this.contentClass = options['contentClass']
|
|||
|
if (options['messageAlign']!=undefined) this.messageAlign = options['messageAlign']
|
|||
|
if (options['showConfirmButton']!=undefined) this.showConfirmButton = options['showConfirmButton']
|
|||
|
if (options['showCancelButton']!=undefined) this.showCancelButton = options['showCancelButton']
|
|||
|
if (options['confirmButtonText']!=undefined) this.confirmButtonText = options['confirmButtonText']
|
|||
|
if (options['cancelButtonText']!=undefined) this.cancelButtonText = options['cancelButtonText']
|
|||
|
}
|
|||
|
},
|
|||
|
alert(options) {
|
|||
|
// <simpleDialog ref="simpleDialog"></simpleDialog>
|
|||
|
// this.$refs.simpleDialog.alert();
|
|||
|
this.__setconfig(options);
|
|||
|
this.__show();
|
|||
|
},
|
|||
|
confirm(options) {
|
|||
|
this.showCancelButton = true;
|
|||
|
this.__setconfig(options);
|
|||
|
this.__show();
|
|||
|
},
|
|||
|
handleClose() {
|
|||
|
this.__close();
|
|||
|
this.$emit('cancelButton');
|
|||
|
},
|
|||
|
handleConfirm() {
|
|||
|
this.__close();
|
|||
|
this.$emit('confirmButton');
|
|||
|
},
|
|||
|
moveHandleStop:function(){
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
};
|
|||
|
</script>
|
|||
|
|
|||
|
<style lang="scss" scoped>
|
|||
|
|
|||
|
</style>
|