vue实现用户3秒内多次点击。请求只发送一次

最近做项目,用户连续点击按钮会一直向后台发送请求,最后按钮的状态会跟后台返回的不统一,于是用这个方法实现了用户不管点多少次,在3秒内只请求一次

看如下代码,使用点击事件的disabled属性

<button :disabled="state"  @click="clickbtn"></button>

//在data里面设置state原始的属性值
data(){
	return{
		state:false
	}
}
//在methods里面写点击事件
clickbtn(){
	if(this.state == false){
			let that = this
			that.state = true
			setTimeout(()=>{
				//请求数据。。。
				//请求成功后在返回的状态里面加上下面这句话
				that.state = false
			},3000)
		}
}

好啦,这样就实现了在3秒之前即使点击多少次,也只发送一次请求

Logo

前往低代码交流专区

更多推荐