1. Add custom file preventReClick.js
Import view from 'View' const preventReClick = Vue.directive ( 'preventReClick' , { inserted: function (el, binding) { el.addEventListener('click', () => { if (!el.disabled) { el.disabled = true setTimeout(() => { el.disabled = false }, binding.value || 3000) } }) } }); export { preventReClick }
2. References in main.js
preventReClick from Import './store/preventReClick' // preventing multiple clicks, resubmit
3. implementation. Add v-preventReClick on the button
<el-button class="common-button" size="small" type="primary" @click="handleSave('form')" v-preventReClick>保 存</el-button>