😎优化 v-reclick 指令

This commit is contained in:
zuohuaijun 2025-09-14 13:26:39 +08:00
parent 8cb0417685
commit 51400baea5

View File

@ -182,23 +182,28 @@ export function dragDirective(app: App) {
* @directive v-reclick `<el-button v-reclick></el-button>`
* @directive v-reclick="number" `<el-button v-reclick="500"></el-button>`
*/
export function reclickDirective(app: App) {
export function reclickDirective(app: App) {
let opacity = '';
app.directive('reclick', {
mounted(el, time) {
el.addEventListener('click', () => {
if (!el.disabled) {
el.disabled = true;
opacity = el.style.opacity;
el.style.opacity = '0.2';
setTimeout(
() => {
el.disabled = false;
el.style.opacity = opacity;
},
time.value === undefined ? 500 : time.value
time.value === undefined ? 800 : time.value
);
}
});
},
unmounted(el) {
el.disabled = false;
el.style.opacity = opacity;
},
});
}