当前位置:   article > 正文

VUE3自定义指令防止重复点击多次提交_vue3设置按钮防止重复提

vue3设置按钮防止重复提

1.需求

vue3项目,新增弹框连续点击确定按钮防止多次提交,在按钮上添加自定义指令

2.实现方式

reClick.ts文件  防止重复点击方法,自定义指令

  1. export default {
  2. mounted(el: any, binding: any) {
  3. el.addEventListener('click', () => {
  4. if (!el.disabled) {
  5. el.disabled = true
  6. setTimeout(() => {
  7. el.disabled = false
  8. }, binding.value || 3000)
  9. }
  10. })
  11. }
  12. }

index.ts文件 引入多种自定义指令,包括防止重复点击指令

  1. import type { App } from 'vue';
  2. import reClick from './reClick';
  3. //引入其他指令
  4. /**
  5. * 导出指令方法:v-xxx
  6. * @methods reClick 防止重复点击,用法:v-reClick
  7. */
  8. export function directive(app: App) {
  9. //连续点击指令 v-reClick默认3秒不能联系点击 v-reClick="1000"
  10. app.directive('reClick', reClick);
  11. }

main.ts全局引入

  1. import App from './App.vue';
  2. import {directive} from '@/directive/index.ts'; //引入自定义指令
  3. const app = createApp(App);
  4. directive(app); //全局引入

vue文件使用

  1. <!-- v-reClick 默认3秒内反正重复点击 -->
  2. <el-button v-reClick type="primary" :disabled="loading">确定</el-button>
  3. <!-- v-reClick="1000" 默认1秒内反正重复点击 -->
  4. <el-button v-reClick="1000" type="primary" :disabled="loading">确定</el-button>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/920291
推荐阅读
相关标签
  

闽ICP备14008679号