import Vue from 'vue'; // 定义全局自定义指令 Vue.directive('submit-once', { bind(el, binding, vnode) { el.addEventListener('click', async () => { if (el.disabled) return; // 禁用按钮并显示加载状态 el.disabled = true; const originalText = el.innerHTML; el.innerHTML = ' 提交中...'; try { // 调用传入的提交方法 if (typeof binding.value === 'function') { await binding.value(); } } catch (error) { console.error('提交出错:', error); } finally { // 恢复按钮状态 el.disabled = false; el.innerHTML = originalText; } }); } });