@daysnap/vue-use
Version:
daysnap vue hooks
20 lines (19 loc) • 470 B
JavaScript
import { customRef } from 'vue';
export function debounceRef(value, ms = 0) {
let timer;
return customRef((track, trigger) => {
return {
get() {
track();
return value;
},
set(val) {
clearTimeout(timer);
timer = setTimeout(() => {
trigger();
value = val;
}, ms);
},
};
});
}