博客
关于我
Vue全局配置按钮防止被重复点击,请使用第三种全局配置,简单有效
阅读量:638 次
发布时间:2019-03-14

本文共 1495 字,大约阅读时间需要 4 分钟。

方法一: 

1.common.js

首先引入Vue

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 || 3000)      }      console.log(el.disabled)    })  }}); export {  preventReClick}

2.在需要引入的页面引入(**.vue)
在按钮上添加v-preventReClick

确定

从common.js导入指令preventReClick

import preventReClick from '../common' //防多次点击,重复提交

方法二:

新建`plugins.js`

export default {  install (Vue) {    // 防重复点击(指令实现)    Vue.directive('preventReClick', {      inserted (el, binding) {        el.addEventListener('click', () => {          if (!el.disabled) {            el.disabled = true            setTimeout(() => {              el.disabled = false            }, binding.value || 3000)          }        })      }    })  }}

在main.js引用

按钮调用直接加v-preventReClick

方法三:

1.创建一个clickStatefrom.js文件

写上vue 全局指令

//clickStatefrom.js文件export default {    install (Vue) {      // 防止重复点击      Vue.directive('preventClick', {        inserted (el, binding) {          el.addEventListener('click', () => {            if (!el.disabled) {              el.disabled = true              setTimeout(() => {                el.disabled = false              }, 6000)            }          })        }      })    }  }

2.在main.js 入口文件引用

import preventClick from './utils/clickStatefrom'  // 根据自己的路径Vue.use(preventClick)

3.然后就可在全局使用了

 

 

转载地址:http://tlwlz.baihongyu.com/

你可能感兴趣的文章
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
mysql replace用法
查看>>
Mysql Row_Format 参数讲解
查看>>
mysql select, from ,join ,on ,where groupby,having ,order by limit的执行顺序和书写顺序
查看>>
MySQL Server 5.5安装记录
查看>>
mysql server has gone away
查看>>
mysql slave 停了_slave 停止。求解决方法
查看>>
MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
查看>>
MYSQL sql语句针对数据记录时间范围查询的效率对比
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>
mysql Timestamp时间隔了8小时
查看>>
Mysql tinyint(1)与tinyint(4)的区别
查看>>
mysql union orderby 无效
查看>>
mysql v$session_Oracle 进程查看v$session
查看>>
mysql where中如何判断不为空
查看>>
MySQL Workbench 使用手册:从入门到精通
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>
MySQL Xtrabackup 安装、备份、恢复
查看>>
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>