import { ref } from 'vue' export const useDebouncedCallback = (callback: F, delay: number) => { const timeout = ref>() const debouncedFn = (...args: any[]) => { const handler = () => { clearTimeout(timeout.value) callback(...args) } clearTimeout(timeout.value) timeout.value = setTimeout(handler, delay) } return debouncedFn }