按钮多次点击时,不进行节流操作的话,会导致重复提交或者请求,这时就需要控制,在某一个时间段内,只执行一次操作
- 编写指令
在项目中添加一个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>
版权声明:本文为C_fashionCat原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。