From 43a324e3f35690bb2ca66164898f5f5b7a5e8a91 Mon Sep 17 00:00:00 2001 From: Konrad Mohrfeldt <km@roko.li> Date: Fri, 31 Jan 2025 02:07:27 +0100 Subject: [PATCH] feat: allow useCopy consumer to reset data --- src/form.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/form.ts b/src/form.ts index 76c5f52b..5807e831 100644 --- a/src/form.ts +++ b/src/form.ts @@ -293,9 +293,11 @@ export function useCopy<T>(state: MaybeRefOrGetter<T>, options: UseCopyOptions<T const _save = options?.save const value = (shallow ? shallowRef() : ref()) as Ref<T> - watchEffect(() => { + watchEffect(reset) + + function reset() { value.value = _clone(toValue(state)) - }) + } function triggerSave() { const _value = value.value @@ -308,7 +310,7 @@ export function useCopy<T>(state: MaybeRefOrGetter<T>, options: UseCopyOptions<T watchDebounced(value, triggerSave, { deep: true, debounce }) } - return extendRef(value, { triggerSave }, { enumerable: true }) + return extendRef(value, { triggerSave, reset }, { enumerable: true }) } export function useAPIObjectFieldCopy< -- GitLab