uni-app多次触发事件,防止重复点击

在uni-app中,经常会碰到多次触发事件,重复点击,导致造成业务出现问题。
虽然在后端可以进行操作,防止业务问题。那么前端该如何实现呢?

1.在根目录下新建common文件并创建noclick.js文件

// 防止处理多次点击
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;
        }, 2000)
    } else {
        // 这里是重复点击的判断
    }
}

//导出
export default {
    noMultipleClicks,//禁止多次点击
}

2.man.js文件中引入

//配置公共方法  防治多次点击
import noclick from 'common/noclick.js'
Vue.prototype.$noMultipleClicks = noclick.noMultipleClicks;

3.在页面中使用

3.1不传参,直接传一个方法就行

//记得在data中挂载   noClick:true,否则点击会失效
data() {
    return {
        noClick:true,
    }
}, 

<view class="bottom-btn-box">
    <view class="submit-btn" @click="$noMultipleClicks(commitWork)">提交</view>
</view>

methods:{
//提交方法
    commitWork(){       

    }
}

3.1带参数,传一个方法和一个参数就行

//记得在data中挂载   noClick:true,否则点击会失效

data() {
    return {
        noClick:true,
    }
},

<view class="bottom-btn-box">
    <view class="pay" @click.stop="$noMultipleClicks(goPay, item)" >支付</view>
</view>

methods:{
    goPay(item){
        //balabala
    }
}

相关推荐

  1. uni-app多次触发事件防止重复

    2024-03-18 12:42:02       25 阅读
  2. unity防止ui事件被子物体拦截

    2024-03-18 12:42:02       19 阅读
  3. 后端防止重复

    2024-03-18 12:42:02       32 阅读
  4. WPF 防止按钮Click时间多次响应

    2024-03-18 12:42:02       24 阅读
  5. 防止连续按钮,多次调用接口

    2024-03-18 12:42:02       9 阅读
  6. 【CSS节流】实现防止按钮重复

    2024-03-18 12:42:02       41 阅读
  7. uni-app预览图片

    2024-03-18 12:42:02       43 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-18 12:42:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-18 12:42:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-18 12:42:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-18 12:42:02       20 阅读

热门阅读

  1. Sklearn K-均值算法

    2024-03-18 12:42:02       21 阅读
  2. Springboot中常用工具类

    2024-03-18 12:42:02       18 阅读
  3. OpenResty使用Lua大全(七)OpenResty使用全局缓存

    2024-03-18 12:42:02       20 阅读
  4. 软件测试行业的现状和前景?

    2024-03-18 12:42:02       24 阅读
  5. 比特币,区块链及相关概念简介(四)

    2024-03-18 12:42:02       26 阅读
  6. 开源项目_搭建对象存储服务MinIO

    2024-03-18 12:42:02       18 阅读
  7. 设计模式之建造者模式

    2024-03-18 12:42:02       21 阅读
  8. ubuntu下修改硬盘名字和开机挂载硬盘

    2024-03-18 12:42:02       17 阅读