diff --git a/d2/use/delay.js b/d2/use/delay.js new file mode 100644 index 00000000..538d3752 --- /dev/null +++ b/d2/use/delay.js @@ -0,0 +1,15 @@ +import { ref, computed, watch } from 'vue' +import { throttle } from 'lodash-es' + +export function useDelay (defaultValue, wait = 1000) { + const valueInside = ref(defaultValue) + const valueExternal = ref(defaultValue) + + const updateValueExternal = throttle(() => {}, wait) + + const value = computed({ + get: () => valueExternal.value, + set: newValue => { valueInside.value = newValue } + }) + return value +}