最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue實現(xiàn)button按鈕的重復點擊指令方式

 更新時間:2024年08月29日 10:07:47   作者:zhooson  
這篇文章主要介紹了vue實現(xiàn)button按鈕的重復點擊指令方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

vue實現(xiàn)button按鈕的重復點擊指令

// 注冊一個全局自定義指令 `v-debounce`
Vue.directive('debounce', {
  // 當被綁定的元素插入到 DOM 中時...
  inserted: function (el, binding) {
    let timer;
    el.addEventListener('click', () => {
      clearTimeout(timer);
      timer = setTimeout(() => {
        binding.value(); // 調用傳給指令的方法
      }, 500);
    });
  },
  // 當綁定元素的父組件更新時...
  update: function (el, binding) {
    let timer;
    el.addEventListener('click', () => {
      clearTimeout(timer);
      timer = setTimeout(() => {
        binding.value(); // 調用傳給指令的方法
      }, 500);
    });
  }
});

// 使用指令
// 在組件中
<template>
  <button v-debounce="myClickHandler">Click me</button>
</template>

<script>
export default {
  methods: {
    myClickHandler() {
      // 處理點擊事件
    }
  }
}
</script>

vue提交表單重復點擊,重復提交防抖問題

問題:用戶點擊保存時,可能會多次點擊。導致生成重復數據。

目標:多次點擊時,1s內只允許提交一次數據。

解決方案

1.在utils文件夾創(chuàng)建文件preventReClick.js

export default {
    install (Vue) {
      // 防止按鈕重復點擊
      Vue.directive('preventReClick', {
        inserted (el, binding) {
          // console.log("binding-7", binding)
          el.addEventListener('click', () => {
            if (!el.disabled) {
              el.disabled = true
              setTimeout(() => {
                el.disabled = false
              }, binding.value || 2000)
            }
          })
        }
      })
    }
  }

2.在main.js中引入

3、在.vue 文件中使用

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • vue?draggable組件實現(xiàn)拖拽及點擊無效問題的解決

    vue?draggable組件實現(xiàn)拖拽及點擊無效問題的解決

    這篇文章主要介紹了vue?draggable組件實現(xiàn)拖拽及點擊無效問題的解決,只需要在設置handle屬性就可以了,.defaultTypeTag 是要拖拽的塊的類名,要注意的是需要做點擊事件的項不能包含在這個類名里面,不然會無法觸發(fā)點擊事件,詳細解決辦法跟隨小編一起學習吧
    2022-05-05
  • 如何利用Vue3+Vite批量導入模塊/資源

    如何利用Vue3+Vite批量導入模塊/資源

    這篇文章主要給大家介紹了關于如何利用Vue3+Vite批量導入模塊/資源的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-03-03
  • Vue3使用Lottie實現(xiàn)一個簡單的加載動畫

    Vue3使用Lottie實現(xiàn)一個簡單的加載動畫

    Lottie 是一個流行的動畫庫,它允許我們使用 JSON 文件來渲染高質量的動畫,本文將介紹一下如何在Vue3中集成 Lottie 動畫實現(xiàn)一個加載動畫效果,需要的可以了解下
    2025-02-02
  • Vue實現(xiàn)低版本瀏覽器升級提示的代碼示例

    Vue實現(xiàn)低版本瀏覽器升級提示的代碼示例

    在現(xiàn)代Web開發(fā)中,瀏覽器兼容性是一個重要的問題,盡管大多數用戶已經轉向了現(xiàn)代瀏覽器,但仍有一部分用戶可能仍在使用老舊的瀏覽器版本,本文將詳細介紹如何在Vue項目中實現(xiàn)低版本瀏覽器升級提示,并通過多個代碼示例來展示不同的應用場景和技術點,需要的朋友可以參考下
    2024-10-10
  • 詳解vue樣式穿透的幾種方式

    詳解vue樣式穿透的幾種方式

    本文主要介紹了vue樣式穿透的幾種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • vue3?vscode插件volar配置教程

    vue3?vscode插件volar配置教程

    這篇文章主要介紹了vue3?vscode插件volar配置,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • Vue中keep-alive組件的原理與緩存詳解

    Vue中keep-alive組件的原理與緩存詳解

    Vue 的 keep-alive 是一個內置組件,用于緩存不活動的組件實例,避免重復渲染,從而優(yōu)化應用性能,下面就跟隨小編一起來看看其核心實現(xiàn)原理和緩存內容吧
    2025-03-03
  • vue.js高德地圖實現(xiàn)熱點圖代碼實例

    vue.js高德地圖實現(xiàn)熱點圖代碼實例

    這篇文章主要介紹了vue.js高德地圖實現(xiàn)熱點圖,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • vue+el-element中根據文件名動態(tài)創(chuàng)建dialog的方法實踐

    vue+el-element中根據文件名動態(tài)創(chuàng)建dialog的方法實踐

    本文主要介紹了vue+el-element中根據文件名動態(tài)創(chuàng)建dialog的方法實踐,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 詳解Vue一個案例引發(fā)「內容分發(fā)slot」的最全總結

    詳解Vue一個案例引發(fā)「內容分發(fā)slot」的最全總結

    這篇文章主要介紹了詳解Vue一個案例引發(fā)「內容分發(fā)slot」的最全總結,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12

最新評論

兴隆县| 榆林市| 汉沽区| 河源市| 吉林省| 平阳县| 阿巴嘎旗| 普陀区| 沽源县| 柞水县| 邯郸县| 泽州县| 隆子县| 泽普县| 龙胜| 吉隆县| 兴仁县| 石首市| 高淳县| 古浪县| 荔波县| 东辽县| 惠水县| 灌云县| 兴隆县| 沙洋县| 鄯善县| 慈利县| 仙游县| 沙湾县| 固镇县| 留坝县| 辽中县| 大渡口区| 禹城市| 浦东新区| 清镇市| 康马县| 方城县| 玉溪市| 怀化市|