vue封装防重复点击事件,并全局挂载使用

一、 vue3.0封装防重复点击事件

1、创建防重复点击的js文件,在js文件中添加防重复点击的方法

在utils文件夹中(可以和普通工具类存放一起,也可以按自己需求存放)创建js文件 preventReClick.js

javascript 复制代码
// 防止处理多次点击
function noMultipleClicks(methods, info) {
    // methods是需要点击后需要执行的函数, info是点击需要传的参数
    let that = this;
    if (that.noClick) {
        // 第一次点击
        that.noClick= false;
        if(info && info !== '') {
            // info是执行函数需要传的参数
            methods(info);
        } else {
            methods();
        }
        setTimeout(()=> {
            that.noClick= true;
        }, 1000)//时间可以自己定义
    } else {
        // 这里是重复点击的判断
    }
}
//导出
export default {
    noMultipleClicks,//禁止多次点击
}

二、在main.js中全局挂载防重复点击方法

javascript 复制代码
import Vue from 'vue' 
  //配置全局属性
  
Vue.prototype.$preventReClick = preventReClick.noMultipleClicks;

三、在页面中使用

javascript 复制代码
<template>
 <button class="submit-style" @click="this.$preventReClick(submitBtn)">提交</button>
</template>

<script setup>
data() {
			return {
				noClick: true, //防止重复点击字段
			};
		},
</script>
相关推荐
__log4 分钟前
AI前端工程化实战指南:10大核心场景的“解题思路“与“避坑指南“
前端·人工智能
ljt27249606615 分钟前
Vue笔记(一)--模板
前端·vue.js·笔记
广州华水科技6 分钟前
单北斗GNSS变形监测一体机在水库安全监测中的应用与优势
前端
光影少年8 分钟前
react的useRef 作用:获取DOM、保存可变数据、区别 createRef
前端·javascript·react.js
西洼工作室8 分钟前
前端Token失效检测与自动登出机制详解
前端
李剑一13 分钟前
华为二面稳了!面试官:请详细说明一下前端性能指标(FCP/LCP/CLS/TTI/TBT),如何采集、解读与优化?
前端·面试
KaMeidebaby6 小时前
卡梅德生物技术快报|骆驼纳米抗体:从原核表达、高通量测序到分子对接全流程实现
前端·数据库·其他·百度·新浪微博
子兮曰8 小时前
Node.js v26.1.0 深度解读:FFI、后量子密码与调试器的进化
前端·后端·node.js
测试员周周9 小时前
【Appium 系列】第06节-页面对象实现 — LoginPage 实战
开发语言·前端·人工智能·python·功能测试·appium·测试用例
西洼工作室10 小时前
前端直传OSS服务端签名(Policy+Signature)/STS临时凭证
前端·文件上传·oss