Skip to content

Commit 07b16f8

Browse files
committed
chore: default value update optional
1 parent 42749d2 commit 07b16f8

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

packages/core/src/logic/creatFormControl.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ export function creatFormControl<TFieldValues extends FieldValues = FieldValues>
4646
type TFormState = FormState<TFieldValues>
4747
type TFormStateKey = keyof TFormState
4848

49+
const {
50+
onSuccessUpdateDefaultValues = false,
51+
} = _options
52+
4953
const _fields = {} as Fields<TFieldValues, FieldsKey>
5054

5155
const _formState = reactive<TFormState>({
@@ -296,7 +300,9 @@ export function creatFormControl<TFieldValues extends FieldValues = FieldValues>
296300
const res: Record<string, any> = {}
297301
for (const fieldName in _fields) {
298302
res[fieldName] = _fields[fieldName].inputValue
299-
_options.defaultValues![fieldName] = _fields[fieldName].inputValue.value
303+
304+
if (onSuccessUpdateDefaultValues)
305+
_options.defaultValues![fieldName] = _fields[fieldName].inputValue.value
300306
}
301307

302308
await onSubmit(_fields as UnpackNestedValue<TFieldValues>, e)

packages/core/src/types/form.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export interface UseFormProps<TFieldValues extends object> {
1919
shouldUnregister: boolean
2020
criteriaMode: CriteriaMode
2121
delayError: number
22+
onSuccessUpdateDefaultValues: boolean
2223
}
2324

2425
export type KeepStateOptions = Partial<{

playground/src/App.vue

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,14 @@ const {
1212
formState,
1313
isExistInErrors,
1414
handleSubmit,
15+
reset,
1516
} = useForm({
1617
mode: 'onSubmit',
1718
resolver: useZodResolver(zodSchema),
19+
defaultValues: {
20+
name: 'Elone',
21+
},
22+
onSuccessUpdateDefaultValues: true,
1823
})
1924
2025
const onSubmit = createSubmitHandler((data: any) => {
@@ -34,4 +39,7 @@ const onError = createErrorHandler((errors: any) => {
3439
submit
3540
</button>
3641
</form>
42+
<button @click="reset()">
43+
Reset
44+
</button>
3745
</template>

0 commit comments

Comments
 (0)