| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | <template>	<view @touchmove.stop.prevent>		<view  @click.self.stop="cancel" class="e-modal" :class="[visible?'e-modal_show':'e-modal_hidden',animation?'e-modal-action_animation':'']">			<view class="e-modal-container" :style="{width}" @click.stop.prevent>				<slot></slot>			</view>		</view>		<view :class="['e-modal-mask',visible && mask ? 'e-modal-mask_show' : '',animation?'e-modal-action_animation':'']"></view>	</view></template><script>	export default {		props: {			visible: {				type: Boolean,				default: false			},			mask: {				type: Boolean,				default: true			},			width: {				type: String,				default: '75%'			},			animation: {				type: Boolean,				default: true			}		},		methods: {			cancel() {				this.$emit('update:visible', false)				this.$nextTick(()=>{					this.$emit('cancel')				})			}		}	}</script><style scoped lang="scss">	.e-modal,	.e-modal-mask {		position: fixed;		top: 0;		bottom: 0;		left: 0;		right: 0;	}	.e-modal-action_animation {		transition: all 0.3s ease-in-out;	}	.e-modal {		display: flex;		justify-content: center;		align-items: center;		z-index: 997;	}	.e-modal_hidden {		visibility: hidden;		transform: scale(0);	}	.e-modal_show {		visibility: visible;		transform: scale(1);	}	.e-modal-container {		background-color: #fff;		border-radius: 6px;	}	.e-modal-mask {		visibility: hidden;		z-index: 996;	}	.e-modal-mask_show {		background: rgba(0, 0, 0, 0.6);		visibility: visible;	}</style>
 |