@daysnap/vue-use
Version:
daysnap vue hooks
20 lines (19 loc) • 497 B
JavaScript
import { ref } from 'vue';
export function useCountDown(start = 60) {
const countRef = ref(0);
let timer;
const trigger = (st = start) => {
clearTimeout(timer);
let loop;
(loop = (count) => {
countRef.value = count;
if (count <= 0) {
countRef.value = 0;
return;
}
count--;
timer = setTimeout(loop, 1000, count);
})(st);
};
return [countRef, trigger];
}