You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
	
	
		
		
			
	
    
		
			
				
					
						                                                                                                    | 
						 | 
						<template>	<view><slot :time="time" :remain="timeData.remain" :day="timeData.day" :hour="timeData.hour" :minute="timeData.minute" :second="timeData.second" /></view></template>
<script>// https://ext.dcloud.net.cn/plugin?id=1687
export default {	props: {		// 倒计时时长(单位:毫秒)
		time: {			type: Number,			default: 0		},				// 是否自动
		'autoStart': {			type: Boolean,			default: false		}	},	data() {		return {			timer: null,			timeData: {				remain: 0,				day: 0,				hour: 0,				minute: 0,				second: 0			}		};	},	watch: {		time() {			this.reset()		}	},	methods: {				// 设置timeData
		updateTimeData() {			let t = this.timeData.remain;			this.timeData.day = Math.floor(t / 1000 / 60 / 60 / 24);			this.timeData.hour = Math.floor((t / 1000 / 60 / 60) % 24);			this.timeData.minute = Math.floor((t / 1000 / 60) % 60);			this.timeData.second = Math.floor((t / 1000) % 60);		},				// 开启倒计时
		startTimer() {			if (this.timer) {				clearInterval(this.timer);			}			if(this.timeData.remain < 1000) {				 return			}			this.timer = setInterval(() => {				this.timeData.remain -= 1000;				this.updateTimeData()				if (this.timeData.remain < 1000) {					this.pause()					this.$emit('finish');				}			}, 1000);		},				// 重置倒计时
		reset() {			this.timeData.remain = this.time;			this.updateTimeData();			if(this.autoStart) {				this.start()			}					},				// 暂停倒计时
		pause() {			if(this.timer) {				clearInterval(this.timer);				this.timer = null			}		},				// 开始倒计时
		start() {			if(this.timer) {				return			}			this.startTimer();				}	},	mounted() {		this.reset();	},	beforeDestroy() {		this.pause()	}};</script>
  |