| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | <template>	<view class="graceSlideToUnlock" :style="{backgroundColor:bgColor, width:width+'rpx'}">		<view :style="{width:(width - padding* 2) +'rpx', padding:padding+'rpx'}">			<text class="graceSlideToUnlock-text" :style="{width:(width - padding* 2) +'rpx', padding:padding+'rpx', lineHeight:size+'rpx', color:disabled?blockActiveColor:'#898989'}">{{disabled?msgUnlock:msg}}</text>			<movable-area :style="{width:(width - padding* 2) +'rpx', height:size+'rpx', borderRadius:borderRadius}">				<movable-view direction="horizontal" @change="change" :x="moveX" :disabled="disabled" 				:style="{backgroundColor:disabled ? blockActiveColor : blockColor, borderRadius:borderRadius, width:size+'rpx', height:size+'rpx', lineHeight:size+'rpx', color:iconColor, fontSize:iconSize}">				<text class="grace-icons graceSlideToUnlock-block" :style="{width:size+'rpx', height:size+'rpx', lineHeight:size+'rpx', color:'#FFFFFF'}" v-if="!disabled"></text>				<text class="grace-icons graceSlideToUnlock-block" :style="{width:size+'rpx', height:size+'rpx', lineHeight:size+'rpx', color:'#FFFFFF'}" v-if="disabled"></text>				</movable-view>			</movable-area>		</view>	</view></template><script>/*GraceUI 滑动解锁组件添加于 2020-02-27近期发现个别 UI 抄袭 GraceUI,警告:GraceUI 已经申请软著,抄袭也是一种侵权! 我们将举起法律武器维护我们的版权!后果自负 !*/export default{	props:{		width:{type : Number, default:700},		padding:{type : Number, default:6},		size : {type : Number, default:60},		bgColor : {type : String, default:'#F6F7F8'},		blockColor : {type : String, default:'#3688FF'},		blockActiveColor :{type : String, default:'#1ab16c'},		iconSize : {type : String, default:'30rpx'},		iconColor : {type : String, default:'#FFFFFF'},		borderRadius:{type : String, default:'6rpx'},		msg:{type : String, default:'请向右滑动滑块解锁'},		msgUnlock:{type : String, default:'解锁成功'},	},	data() {		return {			maxWidth:300,			moveX : 0,			disabled:false		}	},	created:function(){		this.maxWidth = uni.upx2px(this.width - this.padding*2 - this.size - 2);	},	methods:{		change:function(e){			if(this.disabled){return ;}			if(e.detail.x >= this.maxWidth){				this.moveX = this.width;				this.disabled = true;				this.$emit('unlock');			}		}	}}</script><style>.graceSlideToUnlock{}.graceSlideToUnlock-block{text-align:center;}.graceSlideToUnlock-text{text-align:center; font-size:24rpx; position:absolute; left:0; top:0;}</style>
 |