uniapp实现按钮防重复点击(防抖)完整解决方案

news/2024/12/27 3:15:10/

需求:

防止用户连续点击按钮,造成短时间内发起多次请求,对后台服务造成压力;
防止第一次请求还没执行完,第二次请求就发起了。

实现方案:

按钮disable禁用+定时器按钮恢复
其中定义disable变量主要是为了保证逻辑的按顺序执行,定时器恢复主要是为了防止按钮重复点击,因为如果请求响应的特别快,用户还是有可能在短时间内执行多次请求,所以二者缺一不可,这才是完美解决方案

关键代码

按钮:

<view @click="submit"  :class="{ disabledBtn: isSubmitting }">提交</view>

定义数据:

data() {return {isSubmitting: false,}
}

点击事件:

submit(){// 防抖提交if (this.isSubmitting){return}this.isSubmitting = true;try {// 这是我自己封装的api工具js,可以换成自己的请求,恢复按钮的代码放在请求执行完成之后即可this.$u.api.testRequestApi(this.model).then(res => {if(res.success){uni.showToast({title: '操作成功',icon: 'none',duration: 3000});}setTimeout(() => {this.isSubmitting = false;}, 1500);});} catch (error) {// 这里不要在finally里写false,因为我们要实现等请求结束后才可以点击下一次this.isSubmitting = false;}},

按钮置灰不可点击(关键)

<style lang="scss" scoped>.disabledBtn {pointer-events: none;opacity: 0.6;}
</style>

http://www.ppmy.cn/news/1558416.html

相关文章

leetcode 面试经典 150 题:合并两个有序数组

链接合并两个有序数组题序号88题型数组解题方法1. 双指针法 &#xff1b;2. 合并排序法难度简单熟练度✅✅✅✅✅ 题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 …

SVM分类-支持向量机(Support Vector Machine)

SVM分类详细介绍 源码 什么是SVM分类&#xff1f; SVM分类&#xff08;支持向量机分类&#xff09;是一种基于**支持向量机&#xff08;Support Vector Machine, SVM&#xff09;**的监督学习算法&#xff0c;广泛应用于分类和回归分析。SVM通过在高维空间中寻找最佳分隔超平…

【OCR】数据集合集!

本文将为您介绍经典、热门的数据集&#xff0c;希望对您在选择适合的数据集时有所帮助。 1 RapidOCR 更新时间&#xff1a;2024-12-24 访问地址: GitHub 描述&#xff1a; 基于 ONNXRuntime、OpenVINO 和 PaddlePaddle 的超棒 OCR 多编程语言工具包。多平台、多语言 OCR 工具…

线性代数期末总复习的点点滴滴(1)

一、可逆矩阵、行列式、秩的关系 1.行列式与可逆矩阵的关系 所以&#xff0c;不难看出矩阵可逆的充分必要条件是该矩阵的行列式不为0。 2.接着来看&#xff0c;满秩和矩阵行列式的关系 不难看出满秩和行列式不为0是等价的。 3.再来看&#xff0c;满秩和矩阵可逆的关系 说明了…

Python实现将series系列数据格式批量转换为Excel

在Python中&#xff0c;如果你有一系列的数据&#xff08;假设是存储在列表或其他数据结构中的数据&#xff09;&#xff0c;想要批量转换为Excel格式&#xff0c;可以使用pandas库来实现。以下是一个简单的示例代码&#xff0c;假设你的数据是一个包含多个字典的列表&#xff…

EasyExcel停更,FastExcel接力

11月6日消息&#xff0c;阿里巴巴旗下的Java Excel工具库EasyExcel近日宣布&#xff0c;将停止更新&#xff0c;未来将逐步进入维护模式&#xff0c;将继续修复Bug&#xff0c;但不再主动新增功能。 EasyExcel以其快速、简洁和解决大文件内存溢出的能力而著称&#xff0c;官方…

医疗行业 UI 设计系列合集(一):精准定位

在当今数字化时代&#xff0c;医疗行业与信息技术的融合日益紧密&#xff0c;UI 设计在其中扮演着至关重要的角色。精准定位的 UI 设计能够显著提升医疗产品与服务的用户体验&#xff0c;进而对医疗效果和患者满意度产生积极影响。 一、医疗行业 UI 设计的重要性概述 医疗行业…

Kafka无锁设计

前言 在分布式消息队列系统中,Kafka 的无锁设计是其高吞吐量和高并发的核心优势之一。通过避免锁的竞争,Kafka 能够在高并发和大规模的生产环境中保持高效的性能。为了更好地理解 Kafka 的无锁设计,我们首先对比传统的队列模型,然后探讨 Kafka 如何通过无锁机制优化生产者…