| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | 
							- <template>
 
- 	<view class="grace-drawer-shade" v-if="show" @tap.stop="closeDrawer" @touchmove.stop.prevent="" :style="{background:background,zIndex:zIndex, top:top+'px'}">
 
- 		<view  :class="['grace-drawer-shade-nav', direction == 'left' ? 'gdSlideLeft' : 'gdSlideRight']" :style="{width:width,padding:padding, zIndex:zIndex+1, background:slotBg}" @tap.stop="stopFun">
 
- 			<slot name="links"></slot>
 
- 		</view>
 
- 	</view>
 
- </template>
 
- <script>
 
- export default {
 
- 	name: "graceDrawer",
 
- 	props: {
 
- 		show : {
 
- 			type : Boolean,
 
- 			default : false
 
- 		},
 
- 		direction : {
 
- 			type : String,
 
- 			default : 'left'
 
- 		},
 
- 		width : {
 
- 			type : String,
 
- 			default : '60%'
 
- 		},
 
- 		background:{
 
- 			type : String,
 
- 			default : 'rgba(0, 0, 0, 0.5)'
 
- 		},
 
- 		slotBg:{
 
- 			type : String,
 
- 			default : 'rgba(255, 255, 255, 1)'
 
- 		},
 
- 		padding :{
 
- 			type : String,
 
- 			default : '30rpx'
 
- 		},
 
- 		zIndex : {
 
- 			type : Number,
 
- 			default : 1
 
- 		},
 
- 		// #ifdef H5
 
- 		top:{
 
- 			type : Number,
 
- 			default : 44
 
- 		},
 
- 		// #endif
 
- 		// #ifndef H5
 
- 		top:{
 
- 			type : Number,
 
- 			default : 0
 
- 		},
 
- 		// #endif
 
- 	},
 
- 	methods:{
 
- 		closeDrawer : function(){
 
- 			this.$emit('closeDrawer');
 
- 		},
 
- 		stopFun : function(){}
 
- 	}
 
- }
 
- </script>
 
- <style>
 
- @keyframes gdSlideLeft{ from {left:-300px; } 100% { left:0px; }}
 
- .gdSlideLeft {animation:gdSlideLeft 200ms linear; left:0;}
 
- @keyframes gdSlideRight{ from {right:-300px; } 100% { right:0px; }}
 
- .gdSlideRight {animation:gdSlideRight 200ms linear; right:0;}
 
- .grace-drawer-shade{position:fixed; width:100%; height:100%; top:0; left:0; z-index:1; background:rgba(0, 0, 0, 0.5);}
 
- .grace-drawer-shade-nav{height:100%; background:#FFFFFF; position:absolute; top:0; z-index:2; box-sizing:border-box;}
 
- </style>
 
 
  |