vue防止频繁点击

preventReClick.js

import Vue from 'vue'

const preventReClick = Vue.directive('preventReClick', {
    inserted: function (el, binding) {
        el.addEventListener('click', () => {
            if (!el.disabled) {
                el.disabled = true
                setTimeout(() => {
                    el.disabled = false
                }, binding.value || 1000)
            }
        })
    }
});

export default { preventReClick }

**********************************************************

main.js

import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
// import Mint from "mint-ui";
// import "mint-ui/lib/style.css";
// Vue.use(Mint);
import Vant from "vant";
import "vant/lib/index.css";
Vue.use(Vant);
import { Toast } from "vant";
Vue.prototype.$Toast = Toast;
Vue.config.productionTip = false;


//验证是否登录
import './utils/permission.js';
//防多次点击,重复提交
import preventReClick from './utils/preventReClick.js';

new Vue({
  router,
  store,
    preventReClick,
  render: h => h(App)
}).$mount("#app");

************************************************************************

vue文件中使用

<template>
    <div class="main-para">
        <van-nav-bar title="订单" class="public-title" left-arrow @click-left="onClickLeft" />
        <div class="main">
            <button type="button" name="" @click="onClickSearch"  v-preventReClick>搜索</button>
        </div>
    </div>
</template>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梅坞茶坊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值