====== directive.js文件中 ====
import Vue from 'vue'
const preventReClick = Vue.directive('preventReClick',{
inserted: function(el, binding, vNode, oldVnode){
el.addEventListener('click', () => {
if(!el.disabled){
el.disabled = true
el.style.backgroundColor = '#ccc'
el.style.border = 'none'
setTimeout(() => {
el.disabled = false
el.style.backgroundColor = '#1890ff'
el.style.border = '1px solid #1890ff'
}, 2000)
}
})
}
})
export default {
preventReClick
}
====== 在main.js文件中引入指令 =====
import {preventReClick } from './directive/directive.js'
Vue.use(preventReClick )
————————————————
``
<el-button type="primary" @click="handleSave" v-preventReClick>保存</el-button>
vue防止按钮多次点击
最新推荐文章于 2025-02-25 10:30:18 发布