FormApi

类: FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta>

定义于: packages/form-core/src/FormApi.ts:664

一个表示 Form API 的类。它处理表单状态的逻辑和交互。

通常,你不需要直接创建一个新的 FormApi 实例。相反,你将使用框架钩子/函数,如 useFormcreateForm 来为你创建一个使用你的框架响应式模型的新实例。但是,如果你需要手动创建一个新实例,你可以通过调用 new FormApi 构造函数来完成。

类型参数

TFormData

TOnMount extends undefined | FormValidateOrFn<TFormData>

TOnChange extends undefined | FormValidateOrFn<TFormData>

TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>

TOnBlur extends undefined | FormValidateOrFn<TFormData>

TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>

TOnSubmit extends undefined | FormValidateOrFn<TFormData>

TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>

TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>

TSubmitMeta = never

构造函数

new FormApi()

ts
new FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta>(opts?): FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta>
new FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta>(opts?): FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta>

定义于: packages/form-core/src/FormApi.ts:751

使用给定的表单选项构造一个新的 FormApi 实例。

参数

opts?

FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta>

返回值

FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta>

属性

baseStore

ts
baseStore: Store<BaseFormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer>>;
baseStore: Store<BaseFormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer>>;

定义于: packages/form-core/src/FormApi.ts:691


fieldInfo

ts
fieldInfo: Record<unknown extends TFormData ? string : TFormData extends readonly any[] & IsTuple<TFormData> ? PrefixTupleAccessor<TFormData<TFormData>, AllowedIndexes<TFormData<TFormData>, never>, []> : TFormData extends any[] ? PrefixArrayAccessor<TFormData<TFormData>, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor<TFormData<TFormData>, []> : TFormData extends string | number | bigint | boolean ? "" : never, FieldInfo<TFormData>>;
fieldInfo: Record<unknown extends TFormData ? string : TFormData extends readonly any[] & IsTuple<TFormData> ? PrefixTupleAccessor<TFormData<TFormData>, AllowedIndexes<TFormData<TFormData>, never>, []> : TFormData extends any[] ? PrefixArrayAccessor<TFormData<TFormData>, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor<TFormData<TFormData>, []> : TFormData extends string | number | bigint | boolean ? "" : never, FieldInfo<TFormData>>;

定义于: packages/form-core/src/FormApi.ts:721

表单中每个字段的字段信息记录。


fieldMetaDerived

ts
fieldMetaDerived: Derived<Record<unknown extends TFormData ? string : TFormData extends readonly any[] & IsTuple<TFormData> ? PrefixTupleAccessor<TFormData<TFormData>, AllowedIndexes<TFormData<TFormData>, never>, []> : TFormData extends any[] ? PrefixArrayAccessor<TFormData<TFormData>, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor<TFormData<TFormData>, []> : TFormData extends string | number | bigint | boolean ? "" : never, AnyFieldMeta>>;
fieldMetaDerived: Derived<Record<unknown extends TFormData ? string : TFormData extends readonly any[] & IsTuple<TFormData> ? PrefixTupleAccessor<TFormData<TFormData>, AllowedIndexes<TFormData<TFormData>, never>, []> : TFormData extends any[] ? PrefixArrayAccessor<TFormData<TFormData>, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor<TFormData<TFormData>, []> : TFormData extends string | number | bigint | boolean ? "" : never, AnyFieldMeta>>;

定义于: packages/form-core/src/FormApi.ts:704


options

ts
options: FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta> = {};
options: FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta> = {};

定义于: packages/form-core/src/FormApi.ts:679

表单的选项。


store

ts
store: Derived<FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer>>;
store: Derived<FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer>>;

定义于: packages/form-core/src/FormApi.ts:705

访问器

state

Get Signature

ts
get state(): FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer>
get state(): FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer>

定义于: packages/form-core/src/FormApi.ts:723

返回值

FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer>

方法

deleteField()

ts
deleteField<TField>(field): void
deleteField<TField>(field): void

定义于: packages/form-core/src/FormApi.ts:1772

类型参数

TField extends string | number

参数

field

TField

返回值

void


getAllErrors()

ts
getAllErrors(): object
getAllErrors(): object

定义于: packages/form-core/src/FormApi.ts:2010

返回表单和字段级别的错误

返回值

object

fields
ts
fields: Record<DeepKeys<TFormData>, {
  errorMap: ValidationErrorMap;
  errors: unknown[];
}>;
fields: Record<DeepKeys<TFormData>, {
  errorMap: ValidationErrorMap;
  errors: unknown[];
}>;
form
ts
form: object;
form: object;
form.errorMap
ts
errorMap: FormValidationErrorMap<UnwrapFormValidateOrFn<TOnMount>, UnwrapFormValidateOrFn<TOnChange>, UnwrapFormAsyncValidateOrFn<TOnChangeAsync>, UnwrapFormValidateOrFn<TOnBlur>, UnwrapFormAsyncValidateOrFn<TOnBlurAsync>, UnwrapFormValidateOrFn<TOnSubmit>, UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>, UnwrapFormAsyncValidateOrFn<TOnServer>>;
errorMap: FormValidationErrorMap<UnwrapFormValidateOrFn<TOnMount>, UnwrapFormValidateOrFn<TOnChange>, UnwrapFormAsyncValidateOrFn<TOnChangeAsync>, UnwrapFormValidateOrFn<TOnBlur>, UnwrapFormAsyncValidateOrFn<TOnBlurAsync>, UnwrapFormValidateOrFn<TOnSubmit>, UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>, UnwrapFormAsyncValidateOrFn<TOnServer>>;
form.errors
ts
errors: (
  | UnwrapFormValidateOrFn<TOnMount>
  | UnwrapFormValidateOrFn<TOnChange>
  | UnwrapFormAsyncValidateOrFn<TOnChangeAsync>
  | UnwrapFormValidateOrFn<TOnBlur>
  | UnwrapFormAsyncValidateOrFn<TOnBlurAsync>
  | UnwrapFormValidateOrFn<TOnSubmit>
  | UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>
  | UnwrapFormAsyncValidateOrFn<TOnServer>)[];
errors: (
  | UnwrapFormValidateOrFn<TOnMount>
  | UnwrapFormValidateOrFn<TOnChange>
  | UnwrapFormAsyncValidateOrFn<TOnChangeAsync>
  | UnwrapFormValidateOrFn<TOnBlur>
  | UnwrapFormAsyncValidateOrFn<TOnBlurAsync>
  | UnwrapFormValidateOrFn<TOnSubmit>
  | UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>
  | UnwrapFormAsyncValidateOrFn<TOnServer>)[];

getFieldInfo()

ts
getFieldInfo<TField>(field): FieldInfo<TFormData>
getFieldInfo<TField>(field): FieldInfo<TFormData>

定义于: packages/form-core/src/FormApi.ts:1686

获取指定字段的字段信息。

类型参数

TField extends string | number

参数

field

TField

返回值

FieldInfo<TFormData>


getFieldMeta()

ts
getFieldMeta<TField>(field): undefined | AnyFieldMeta
getFieldMeta<TField>(field): undefined | AnyFieldMeta

定义于: packages/form-core/src/FormApi.ts:1677

获取指定字段的元数据。

类型参数

TField extends string | number

参数

field

TField

返回值

undefined | AnyFieldMeta


getFieldValue()

ts
getFieldValue<TField>(field): DeepValue<TFormData, TField>
getFieldValue<TField>(field): DeepValue<TFormData, TField>

定义于: packages/form-core/src/FormApi.ts:1670

获取指定字段的值。

类型参数

TField extends string | number

参数

field

TField

返回值

DeepValue<TFormData, TField>


handleSubmit()

Call Signature

ts
handleSubmit(): Promise<void>
handleSubmit(): Promise<void>

定义于: packages/form-core/src/FormApi.ts:1586

处理表单提交,执行验证,并调用适当的 onSubmit 或 onInvalidSubmit 回调。

返回值

Promise<void>

Call Signature

ts
handleSubmit(submitMeta): Promise<void>
handleSubmit(submitMeta): Promise<void>

定义于: packages/form-core/src/FormApi.ts:1587

处理表单提交,执行验证,并调用适当的 onSubmit 或 onInvalidSubmit 回调。

参数
submitMeta

TSubmitMeta

返回值

Promise<void>


insertFieldValue()

ts
insertFieldValue<TField>(
   field, 
   index, 
   value, 
opts?): Promise<void>
insertFieldValue<TField>(
   field, 
   index, 
   value, 
opts?): Promise<void>

定义于: packages/form-core/src/FormApi.ts:1811

类型参数

TField extends string | number

参数

field

TField

index

number

value

DeepValue<TFormData, TField, []> extends any[] ? any[] & DeepValue<TFormData, TField, []>[number] : never

opts?

UpdateMetaOptions

返回值

Promise<void>


mount()

ts
mount(): () => void
mount(): () => void

定义于: packages/form-core/src/FormApi.ts:1054

返回值

Function

返回值

void


moveFieldValues()

ts
moveFieldValues<TField>(
   field, 
   index1, 
   index2, 
   opts?): void
moveFieldValues<TField>(
   field, 
   index1, 
   index2, 
   opts?): void

定义于: packages/form-core/src/FormApi.ts:1935

将数组字段中第一个指定索引处的值移动到第二个指定索引处。

类型参数

TField extends string | number

参数

field

TField

index1

number

index2

number

opts?

UpdateMetaOptions

返回值

void


pushFieldValue()

ts
pushFieldValue<TField>(
   field, 
   value, 
   opts?): void
pushFieldValue<TField>(
   field, 
   value, 
   opts?): void

定义于: packages/form-core/src/FormApi.ts:1796

将一个值推入数组字段。

类型参数

TField extends string | number

参数

field

TField

value

DeepValue<TFormData, TField, []> extends any[] ? any[] & DeepValue<TFormData, TField, []>[number] : never

opts?

UpdateMetaOptions

返回值

void


removeFieldValue()

ts
removeFieldValue<TField>(
   field, 
   index, 
opts?): Promise<void>
removeFieldValue<TField>(
   field, 
   index, 
opts?): Promise<void>

定义于: packages/form-core/src/FormApi.ts:1869

从数组字段中移除指定索引处的值。

类型参数

TField extends string | number

参数

field

TField

index

number

opts?

UpdateMetaOptions

返回值

Promise<void>


replaceFieldValue()

ts
replaceFieldValue<TField>(
   field, 
   index, 
   value, 
opts?): Promise<void>
replaceFieldValue<TField>(
   field, 
   index, 
   value, 
opts?): Promise<void>

定义于: packages/form-core/src/FormApi.ts:1843

替换数组字段中指定索引处的值。

类型参数

TField extends string | number

参数

field

TField

index

number

value

DeepValue<TFormData, TField, []> extends any[] ? any[] & DeepValue<TFormData, TField, []>[number] : never

opts?

UpdateMetaOptions

返回值

Promise<void>


reset()

ts
reset(values?, opts?): void
reset(values?, opts?): void

定义于: packages/form-core/src/FormApi.ts:1139

将表单状态重置为默认值。如果提供了值,表单将重置为这些值,并且默认值将被更新。

参数

values?

TFormData

用于重置表单的可选值。

opts?

用于控制重置行为的可选选项。

keepDefaultValues?

boolean

返回值

void


resetField()

ts
resetField<TField>(field): void
resetField<TField>(field): void

定义于: packages/form-core/src/FormApi.ts:1963

将字段值和元数据重置为默认状态

类型参数

TField extends string | number

参数

field

TField

返回值

void


resetFieldMeta()

ts
resetFieldMeta<TField>(fieldMeta): Record<TField, AnyFieldMeta>
resetFieldMeta<TField>(fieldMeta): Record<TField, AnyFieldMeta>

定义于: packages/form-core/src/FormApi.ts:1726

重置每个字段的元数据

类型参数

TField extends string | number

参数

fieldMeta

Record<TField, AnyFieldMeta>

返回值

Record<TField, AnyFieldMeta>


setErrorMap()

ts
setErrorMap(errorMap): void
setErrorMap(errorMap): void

定义于: packages/form-core/src/FormApi.ts:1984

更新表单的 errorMap

参数

errorMap

ValidationErrorMap<TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync>

返回值

void


setFieldMeta()

ts
setFieldMeta<TField>(field, updater): void
setFieldMeta<TField>(field, updater): void

定义于: packages/form-core/src/FormApi.ts:1705

更新指定字段的元数据。

类型参数

TField extends string | number

参数

field

TField

updater

Updater<AnyFieldMeta>

返回值

void


setFieldValue()

ts
setFieldValue<TField>(
   field, 
   updater, 
   opts?): void
setFieldValue<TField>(
   field, 
   updater, 
   opts?): void

定义于: packages/form-core/src/FormApi.ts:1742

设置指定字段的值,并可选择更新 touched 状态。

类型参数

TField extends string | number

参数

field

TField

updater

Updater<DeepValue<TFormData, TField, []>>

opts?

UpdateMetaOptions

返回值

void


swapFieldValues()

ts
swapFieldValues<TField>(
   field, 
   index1, 
   index2, 
   opts?): void
swapFieldValues<TField>(
   field, 
   index1, 
   index2, 
   opts?): void

定义于: packages/form-core/src/FormApi.ts:1906

交换数组字段中指定索引处的值。

类型参数

TField extends string | number

参数

field

TField

index1

number

index2

number

opts?

UpdateMetaOptions

返回值

void


update()

ts
update(options?): void
update(options?): void

定义于: packages/form-core/src/FormApi.ts:1071

更新表单选项和表单状态。

参数

options?

FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta>

返回值

void


validateAllFields()

ts
validateAllFields(cause): Promise<unknown[]>
validateAllFields(cause): Promise<unknown[]>

定义于: packages/form-core/src/FormApi.ts:1165

使用给定验证原因的正确处理程序验证所有字段。

参数

cause

ValidationCause

返回值

Promise<unknown[]>


validateArrayFieldsStartingFrom()

ts
validateArrayFieldsStartingFrom<TField>(
   field, 
   index, 
cause): Promise<unknown[]>
validateArrayFieldsStartingFrom<TField>(
   field, 
   index, 
cause): Promise<unknown[]>

定义于: packages/form-core/src/FormApi.ts:1195

使用给定验证类型的正确处理程序,从给定索引开始到结束验证表单中指定数组的子项。

类型参数

TField extends string | number

参数

field

TField

index

number

cause

ValidationCause

返回值

Promise<unknown[]>


validateField()

ts
validateField<TField>(field, cause): unknown[] | Promise<unknown[]>
validateField<TField>(field, cause): unknown[] | Promise<unknown[]>

定义于: packages/form-core/src/FormApi.ts:1234

使用给定验证类型的正确处理程序验证表单中指定的字段。

类型参数

TField extends string | number

参数

field

TField

cause

ValidationCause

返回值

unknown[] | Promise<unknown[]>

订阅 Bytes

您的每周 JavaScript 新闻。每周一免费发送给超过 100,000 名开发者。

Bytes

无垃圾邮件。随时取消订阅。