vue 按钮点击防止多次点击导致重复提交(节流)
按钮多次点击时,不进行节流操作的话,会导致重复提交或者请求,这时就需要控制,在某一个时间段内,只执行一次操作编写指令在项目中添加一个plugins.jsimport Vue from 'vue'// 防止重复提交指令const preventReClick = Vue.directive('preventReClick', {inserted (el, binding) {el.addEventL
·
按钮多次点击时,不进行节流操作的话,会导致重复提交或者请求,这时就需要控制,在某一个时间段内,只执行一次操作
- 编写指令
在项目中添加一个plugins.js
import Vue from 'vue'
// 防止重复提交指令
const preventReClick = Vue.directive('preventReClick', {
inserted (el, binding) {
el.addEventListener('click', () => {
if (!el.disabled) {
el.disabled = true
setTimeout(() => {
el.disabled = false
}, binding.value || 500)
}
})
}
})
export { preventReClick }
- 在需要使用的地方添加
<template>
<div class="home">
<van-button @click="next" v-prevent-re-click>
下一步
</van-button>
</div>
</template>
<script>
import Vue from "vue";
import { preventReClick } from '@utils/plugins';
Vue.use(preventReClick);
</script>
更多推荐
已为社区贡献4条内容
所有评论(0)