Vue实现短信按钮倒计时

业务场景:点击按钮,然后按钮禁止,出现倒计时
直接上代码:

---html
<button 
	:disabled="abledBut" 
	@click="alipayWithdrawals">
		提现
		<text v-if="abledBut">({{setTimeNum}}s)</text>
</button>
---js
data() {
	return {
		abledBut: false, //是否禁止
		setTimeNum: 10,  // 倒计时时间
		timeWrap: null,  // 定时器标识
	};
},
watch: {
	/* 使用watch来响应数据的变化 */
	//监听倒计时数据的变化,小于0的时候,清除定时器,解开按钮,重置倒计时
	setTimeNum(newVal, oldVal) {
		if(newVal < 0){
			clearInterval(this.timeWrap)
			this.abledBut = false
			this.setTimeNum = 10
		}
	}
},
methods: {
	//点击事件禁止按钮,触发定时器,每秒-1
	alipayWithdrawals(){
		if (this.setTimeNum > 0) {
			this.abledBut = true
			this.timeWrap = setInterval(() => {
				this.setTimeNum -= 1
			}, 1000)
		}
	}
}
Vue 3中实现短信倒计时功能可以通过以下步骤完成: 1. 安装所需的依赖:你需要使用一些库来帮助你实现倒计时功能,如 Vue-countdown 或 Vue-timer-picker。这些库可以帮助你方便地设置和更新倒计时。 ```bash npm install vue-countdown vue-timer-picker ``` 2. 在你的Vue组件中引入这些库: ```javascript import VueCountdown from 'vue-countdown'; import VueTimerPicker from 'vue-timer-picker'; export default { components: { VueCountdown, VueTimerPicker }, // ... } ``` 3. 在你的组件中使用这些库来创建倒计时: ```javascript <template> <div> <vue-timer-picker v-model="countdown" /> <button @click="startSmsCountdown">发送短信</button> </div> </template> <script> import Vue from 'vue'; import VueCountdown from 'vue-countdown'; import VueTimerPicker from 'vue-timer-picker'; export default { components: { VueCountdown, VueTimerPicker }, data() { return { countdown: null, // 倒计时时间,以秒为单位 startSmsCountdown() { // 倒计时开始时触发的事件 // 创建并设置倒计时,比如短信发送时间是从现在开始,还有30秒,你可以根据需要修改这个时间 this.countdown = this.getRemainingTime(30); // 使用 getRemainingTime 方法获取剩余时间并赋值给 countdown // 设置 VueTimerPicker 的值并触发更新事件,使 Vue 组件更新显示时间的变化 this.$emit('update:countdown', this.countdown); // 使用 $emit 方法触发更新事件并传递 countdown 数据到子组件中更新显示时间的变化 } }; }, methods: { getRemainingTime(seconds) { // 这个方法用来计算剩余时间,根据你的需要可以自行修改这部分逻辑,如请求 API 等操作来实现实际发送短信的逻辑 return `${seconds}秒`; // 返回剩余时间字符串,这里只是一个示例,实际使用时需要根据实际情况返回正确的剩余时间字符串或其它数据格式。 } } }; </script> ``` 以上代码实现了一个简单的短信倒计时功能,当点击“发送短信按钮时,会触发一个事件,将倒计时的时间传递给子组件,子组件会根据这个时间来更新显示。你需要根据你的实际需求来实现短信发送的逻辑。这只是一个简单的示例,你可以根据需要进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值