mirror of
https://gitee.com/bootx/dax-pay-ui.git
synced 2025-10-17 07:24:04 +00:00
wip: refactor layout
This commit is contained in:
20
src/hooks/core/useDebouncedRef.ts
Normal file
20
src/hooks/core/useDebouncedRef.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import { customRef } from 'vue';
|
||||
|
||||
export function useDebouncedRef<T = any>(value: T, delay = 100) {
|
||||
let timeout: TimeoutHandle;
|
||||
return customRef((track, trigger) => {
|
||||
return {
|
||||
get() {
|
||||
track();
|
||||
return value;
|
||||
},
|
||||
set(newValue: T) {
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(() => {
|
||||
value = newValue;
|
||||
trigger();
|
||||
}, delay);
|
||||
},
|
||||
};
|
||||
});
|
||||
}
|
Reference in New Issue
Block a user