| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | <template name="gracePopupMenu">	<view  class="grace-popup-mask" v-if="showIn" @tap.stop="hideMenu" @touchmove.stop.prevent=""	:style="{backgroundColor:background}">		<view class="grace-popup-menu" 		:style="{top:top+'px', right:right, backgroundColor:bgColor, width:menuWidth, borderRadius:borderRadius}">			<slot></slot>		</view>	</view></template><script>export default {	name: "gracePopupMenu",	props: {		show:{			type : Boolean,			default : false		},		top:{			type : Number,			default : 0		},		bgColor:{			type : String,			default :'#FFFFFF'		},		menuWidth :{			type : String,			default : '258rpx'		},		background : {			type : String,			default : 'rgba(0,0,0, 0.3)'		},		right:{			type : String,			default:'0rpx'		},		borderRadius:{			type : String,			default:'0rpx'		}	},	data() {		return {			showIn : false		}	},	created:function(){		if(this.show){this.open();}else{this.hide();}	},	watch:{		show : function(val,oval){			this.showIn = val;		}	},	methods: {		hideMenu : function() {			this.$emit('hideMenu');		},		open : function(){			this.showIn = true;		},		hide:function(){			this.showIn = false;		}	}}</script><style scoped>.grace-popup-menu{background-color:#FFFFFF; width:258rpx; padding:10rpx; right:0px; top:0px; position:absolute;}.grace-popup-mask{background-color:rgba(0,0,0, 0.3); width:750rpx; position:fixed; left:0; top:0; bottom:0;}</style>
 |