From f92addb3b7cd5e09b9fcb57414fdb3c36f78933f Mon Sep 17 00:00:00 2001 From: Alex Liu Date: Sat, 13 May 2023 00:30:39 +0800 Subject: [PATCH] refactor(core): reduce `useField` code --- packages/core/src/composables/useField.ts | 11 +++-------- packages/core/src/composables/useForm.ts | 3 +-- packages/core/src/composables/useInternalContext.ts | 11 +++-------- 3 files changed, 7 insertions(+), 18 deletions(-) diff --git a/packages/core/src/composables/useField.ts b/packages/core/src/composables/useField.ts index 7fef729..557329f 100644 --- a/packages/core/src/composables/useField.ts +++ b/packages/core/src/composables/useField.ts @@ -42,14 +42,9 @@ export function useField( name: MaybeRef, options: UseFieldOptions = {}, ): UseFormRegisterReturn { - const { registerField, getFieldValue, getFieldAttrs, getFieldMeta } = - useInternalContext(); + const { register } = useInternalContext(); - registerField(name, options); + register(name, options); - return { - value: getFieldValue(name), - attrs: getFieldAttrs(name), - ...getFieldMeta(name), - }; + return register(name, options); } diff --git a/packages/core/src/composables/useForm.ts b/packages/core/src/composables/useForm.ts index 72c033a..411165e 100644 --- a/packages/core/src/composables/useForm.ts +++ b/packages/core/src/composables/useForm.ts @@ -593,16 +593,15 @@ export function useForm( }; provide(InternalContextKey, { - getFieldMeta, getFieldValue, setFieldValue, getFieldError, getFieldTouched, getFieldDirty, getFieldAttrs, - registerField, registerFieldArray, setFieldArrayValue, + register, }); provide>(FormContextKey, context); diff --git a/packages/core/src/composables/useInternalContext.ts b/packages/core/src/composables/useInternalContext.ts index 0de159b..dcc9b90 100644 --- a/packages/core/src/composables/useInternalContext.ts +++ b/packages/core/src/composables/useInternalContext.ts @@ -9,13 +9,12 @@ import { import { FieldArrayValidator, FieldAttrs, - FieldMeta, - FieldValidator, FormErrors, FormTouched, FormValues, MaybeRef, SetFieldArrayValue, + UseFormRegister, UseFormSetFieldValue, } from '../types'; @@ -28,11 +27,6 @@ function injectMaybeSelf( } export interface InternalContextValues { - registerField: ( - name: MaybeRef, - options: { validate?: FieldValidator }, - ) => void; - registerFieldArray: ( name: MaybeRef, options: { @@ -42,7 +36,6 @@ export interface InternalContextValues { ) => void; getFieldValue: (name: MaybeRef) => WritableComputedRef; - getFieldMeta: (name: MaybeRef) => FieldMeta; setFieldValue: UseFormSetFieldValue; getFieldError: (name: string) => FormErrors; @@ -51,6 +44,8 @@ export interface InternalContextValues { getFieldAttrs: (name: MaybeRef) => ComputedRef; setFieldArrayValue: SetFieldArrayValue; + + register: UseFormRegister; } export const InternalContextKey: InjectionKey = Symbol(