FormApi

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

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

表示表单 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:843

使用给定的表单选项构造一个新的 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:799


fieldInfo

ts
fieldInfo: Record<DeepKeys<TFormData>, FieldInfo<TFormData>>;
fieldInfo: Record<DeepKeys<TFormData>, FieldInfo<TFormData>>;

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

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


fieldMetaDerived

ts
fieldMetaDerived: Derived<Record<DeepKeys<TFormData>, AnyFieldMeta>>;
fieldMetaDerived: Derived<Record<DeepKeys<TFormData>, AnyFieldMeta>>;

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


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:787

表单选项。


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:813

访问器

state

Get 签名

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:831

返回

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

方法

clearFieldValues()

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

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

清除数组字段中的所有值。

类型参数

TField extends string

参数

field

TField

opts?

UpdateMetaOptions

返回

void


deleteField()

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

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

类型参数

TField extends string

参数

field

TField

返回

void


getAllErrors()

ts
getAllErrors(): object
getAllErrors(): object

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

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

返回

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: ValidationErrorMap<UnwrapFormValidateOrFn<TOnMount>, UnwrapFormValidateOrFn<TOnChange>, UnwrapFormAsyncValidateOrFn<TOnChangeAsync>, UnwrapFormValidateOrFn<TOnBlur>, UnwrapFormAsyncValidateOrFn<TOnBlurAsync>, UnwrapFormValidateOrFn<TOnSubmit>, UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>, UnwrapFormAsyncValidateOrFn<TOnServer>>;
errorMap: ValidationErrorMap<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:1855

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

类型参数

TField extends string

参数

field

TField

返回

FieldInfo<TFormData>


getFieldMeta()

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

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

获取指定字段的元数据。

类型参数

TField extends string

参数

field

TField

返回

undefined | AnyFieldMeta


getFieldValue()

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

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

获取指定字段的值。

类型参数

TField extends string

参数

field

TField

返回

DeepValue<TFormData, TField>


handleSubmit()

调用签名

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

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

处理表单提交,执行校验,并调用相应的 onSubmit 或 onSubmitInvalid 回调。

返回

Promise<void>

调用签名

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

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

处理表单提交,执行校验,并调用相应的 onSubmit 或 onSubmitInvalid 回调。

参数
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:1980

类型参数

TField extends string

参数

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:1169

返回

Function

返回

void


moveFieldValues()

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

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

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

类型参数

TField extends string

参数

field

TField

index1

number

index2

number

opts?

UpdateMetaOptions

返回

void


parseValuesWithSchema()

ts
parseValuesWithSchema(schema):
  | undefined
  | {
  fields: Record<string, StandardSchemaV1Issue[]>;
  form: Record<string, StandardSchemaV1Issue[]>;
}
parseValuesWithSchema(schema):
  | undefined
  | {
  fields: Record<string, StandardSchemaV1Issue[]>;
  form: Record<string, StandardSchemaV1Issue[]>;
}

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

使用给定的标准模式解析表单的值并返回问题(如果有)。此方法不会设置任何内部错误。

参数

schema

StandardSchemaV1<TFormData, unknown>

用于解析表单值的标准模式。

返回

| undefined | { fields: Record<string, StandardSchemaV1Issue[]>; form: Record<string, StandardSchemaV1Issue[]>; }


parseValuesWithSchemaAsync()

ts
parseValuesWithSchemaAsync(schema): Promise<
  | undefined
  | {
  fields: Record<string, StandardSchemaV1Issue[]>;
  form: Record<string, StandardSchemaV1Issue[]>;
}>
parseValuesWithSchemaAsync(schema): Promise<
  | undefined
  | {
  fields: Record<string, StandardSchemaV1Issue[]>;
  form: Record<string, StandardSchemaV1Issue[]>;
}>

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

使用给定的标准模式异步解析表单的值并返回问题(如果有)。此方法不会设置任何内部错误。

参数

schema

StandardSchemaV1<TFormData, unknown>

用于解析表单值的标准模式。

返回

Promise< | undefined | { fields: Record<string, StandardSchemaV1Issue[]>; form: Record<string, StandardSchemaV1Issue[]>; }>


pushFieldValue()

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

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

将值推入数组字段。

类型参数

TField extends string

参数

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:2038

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

类型参数

TField extends string

参数

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:2012

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

类型参数

TField extends string

参数

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:1257

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

参数

values?

TFormData

用于重置表单的可选值。

opts?

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

keepDefaultValues?

boolean

返回

void


resetField()

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

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

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

类型参数

TField extends string

参数

field

TField

返回

void


resetFieldMeta()

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

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

重置每个字段的元数据。

类型参数

TField extends string

参数

fieldMeta

Record<TField, AnyFieldMeta>

返回

Record<TField, AnyFieldMeta>


setErrorMap()

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

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

更新表单的 errorMap。

参数

errorMap

FormValidationErrorMap<TFormData, UnwrapFormValidateOrFn<TOnMount>, UnwrapFormValidateOrFn<TOnChange>, UnwrapFormAsyncValidateOrFn<TOnChangeAsync>, UnwrapFormValidateOrFn<TOnBlur>, UnwrapFormAsyncValidateOrFn<TOnBlurAsync>, UnwrapFormValidateOrFn<TOnSubmit>, UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>, UnwrapFormAsyncValidateOrFn<TOnServer>>

返回

void


setFieldMeta()

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

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

更新指定字段的元数据。

类型参数

TField extends string

参数

field

TField

updater

Updater<AnyFieldMetaBase>

返回

void


setFieldValue()

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

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

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

类型参数

TField extends string

参数

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:2075

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

类型参数

TField extends string

参数

field

TField

index1

number

index2

number

opts?

UpdateMetaOptions

返回

void


update()

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

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

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

参数

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:1283

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

参数

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:1313

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

类型参数

TField extends string

参数

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:1354

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

类型参数

TField extends string

参数

field

TField

cause

ValidationCause

返回

unknown[] | Promise<unknown[]>