定义于: packages/form-core/src/FormApi.ts:860
一个代表 Form API 的类。它处理表单状态的逻辑和交互。
通常情况下,您不需要直接创建新的 FormApi 实例。相反,您将使用 useForm 或 createForm 等框架钩子/函数为您创建一个新的实例,该实例使用您框架的响应式模型。但是,如果您需要手动创建新实例,可以通过调用 new FormApi 构造函数来实现。
• TFormData
• TOnMount 扩展 undefined | FormValidateOrFn<TFormData>
• TOnChange 扩展 undefined | FormValidateOrFn<TFormData>
• TOnChangeAsync 扩展 undefined | FormAsyncValidateOrFn<TFormData>
• TOnBlur 扩展 undefined | FormValidateOrFn<TFormData>
• TOnBlurAsync 扩展 undefined | FormAsyncValidateOrFn<TFormData>
• TOnSubmit 扩展 undefined | FormValidateOrFn<TFormData>
• TOnSubmitAsync 扩展 undefined | FormAsyncValidateOrFn<TFormData>
• TOnDynamic 扩展 undefined | FormValidateOrFn<TFormData>
• TOnDynamicAsync 扩展 undefined | FormAsyncValidateOrFn<TFormData>
• TOnServer 扩展 undefined | FormAsyncValidateOrFn<TFormData>
• TSubmitMeta = never
new FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>(opts?): FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>
new FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>(opts?): FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>
定义于: packages/form-core/src/FormApi.ts:940
使用给定的表单选项构造一个新的 FormApi 实例。
FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>
FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>
baseStore: Store<BaseFormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>>;
baseStore: Store<BaseFormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>>;
定义于: packages/form-core/src/FormApi.ts:892
fieldInfo: Record<DeepKeys<TFormData>, FieldInfo<TFormData>>;
fieldInfo: Record<DeepKeys<TFormData>, FieldInfo<TFormData>>;
定义于: packages/form-core/src/FormApi.ts:926
表单中每个字段的信息记录。
fieldMetaDerived: Derived<Record<DeepKeys<TFormData>, AnyFieldMeta>>;
fieldMetaDerived: Derived<Record<DeepKeys<TFormData>, AnyFieldMeta>>;
定义于: packages/form-core/src/FormApi.ts:907
options: FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta> = {};
options: FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta> = {};
定义于: packages/form-core/src/FormApi.ts:878
表单的选项。
store: Derived<FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>>;
store: Derived<FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>>;
定义于: packages/form-core/src/FormApi.ts:908
get formId(): undefined | string
get formId(): undefined | string
定义于: packages/form-core/src/FormApi.ts:1249
undefined | string
get state(): FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>
get state(): FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>
定义于: packages/form-core/src/FormApi.ts:928
FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>
clearFieldValues<TField>(field, opts?): void
clearFieldValues<TField>(field, opts?): void
定义于: packages/form-core/src/FormApi.ts:2291
清除数组字段中的所有值。
• TField 扩展 string
TField
UpdateMetaOptions
void
FieldManipulator.clearFieldValues
FieldManipulator.clearFieldValues
deleteField<TField>(field): void
deleteField<TField>(field): void
定义于: packages/form-core/src/FormApi.ts:2099
• TField 扩展 string
TField
void
FieldManipulator.deleteField
FieldManipulator.deleteField
getAllErrors(): object
getAllErrors(): object
定义于: packages/form-core/src/FormApi.ts:2399
返回表单和字段级别的错误
object
fields: Record<DeepKeys<TFormData>, {
errorMap: ValidationErrorMap;
errors: unknown[];
}>;
fields: Record<DeepKeys<TFormData>, {
errorMap: ValidationErrorMap;
errors: unknown[];
}>;
form: object;
form: object;
errorMap: ValidationErrorMap<UnwrapFormValidateOrFn<TOnMount>, UnwrapFormValidateOrFn<TOnChange>, UnwrapFormAsyncValidateOrFn<TOnChangeAsync>, UnwrapFormValidateOrFn<TOnBlur>, UnwrapFormAsyncValidateOrFn<TOnBlurAsync>, UnwrapFormValidateOrFn<TOnSubmit>, UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>, UnwrapFormValidateOrFn<TOnDynamic>, UnwrapFormAsyncValidateOrFn<TOnDynamicAsync>, UnwrapFormAsyncValidateOrFn<TOnServer>>;
errorMap: ValidationErrorMap<UnwrapFormValidateOrFn<TOnMount>, UnwrapFormValidateOrFn<TOnChange>, UnwrapFormAsyncValidateOrFn<TOnChangeAsync>, UnwrapFormValidateOrFn<TOnBlur>, UnwrapFormAsyncValidateOrFn<TOnBlurAsync>, UnwrapFormValidateOrFn<TOnSubmit>, UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>, UnwrapFormValidateOrFn<TOnDynamic>, UnwrapFormAsyncValidateOrFn<TOnDynamicAsync>, UnwrapFormAsyncValidateOrFn<TOnServer>>;
errors: (
| UnwrapFormValidateOrFn<TOnMount>
| UnwrapFormValidateOrFn<TOnChange>
| UnwrapFormAsyncValidateOrFn<TOnChangeAsync>
| UnwrapFormValidateOrFn<TOnBlur>
| UnwrapFormAsyncValidateOrFn<TOnBlurAsync>
| UnwrapFormValidateOrFn<TOnSubmit>
| UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>
| UnwrapFormValidateOrFn<TOnDynamic>
| UnwrapFormAsyncValidateOrFn<TOnDynamicAsync>
| UnwrapFormAsyncValidateOrFn<TOnServer>)[];
errors: (
| UnwrapFormValidateOrFn<TOnMount>
| UnwrapFormValidateOrFn<TOnChange>
| UnwrapFormAsyncValidateOrFn<TOnChangeAsync>
| UnwrapFormValidateOrFn<TOnBlur>
| UnwrapFormAsyncValidateOrFn<TOnBlurAsync>
| UnwrapFormValidateOrFn<TOnSubmit>
| UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>
| UnwrapFormValidateOrFn<TOnDynamic>
| UnwrapFormAsyncValidateOrFn<TOnDynamicAsync>
| UnwrapFormAsyncValidateOrFn<TOnServer>)[];
getFieldInfo<TField>(field): FieldInfo<TFormData>
getFieldInfo<TField>(field): FieldInfo<TFormData>
定义于: packages/form-core/src/FormApi.ts:2012
获取指定字段的字段信息。
• TField 扩展 string
TField
FieldInfo<TFormData>
getFieldMeta<TField>(field): undefined | AnyFieldMeta
getFieldMeta<TField>(field): undefined | AnyFieldMeta
定义于: packages/form-core/src/FormApi.ts:2003
获取指定字段的元数据。
• TField 扩展 string
TField
undefined | AnyFieldMeta
FieldManipulator.getFieldMeta
FieldManipulator.getFieldMeta
getFieldValue<TField>(field): DeepValue<TFormData, TField>
getFieldValue<TField>(field): DeepValue<TFormData, TField>
定义于: packages/form-core/src/FormApi.ts:1996
获取指定字段的值。
• TField 扩展 string
TField
DeepValue<TFormData, TField>
FieldManipulator.getFieldValue
FieldManipulator.getFieldValue
handleSubmit(): Promise<void>
handleSubmit(): Promise<void>
定义于: packages/form-core/src/FormApi.ts:1893
处理表单提交,执行验证,并调用相应的 onSubmit 或 onSubmitInvalid 回调。
Promise<void>
FieldManipulator.handleSubmit
FieldManipulator.handleSubmit
handleSubmit(submitMeta): Promise<void>
handleSubmit(submitMeta): Promise<void>
定义于: packages/form-core/src/FormApi.ts:1894
处理表单提交,执行验证,并调用相应的 onSubmit 或 onSubmitInvalid 回调。
TSubmitMeta
Promise<void>
FieldManipulator.handleSubmit
FieldManipulator.handleSubmit
insertFieldValue<TField>(
field,
index,
value,
opts?): Promise<void>
insertFieldValue<TField>(
field,
index,
value,
opts?): Promise<void>
定义于: packages/form-core/src/FormApi.ts:2138
• TField 扩展 string
TField
number
DeepValue<TFormData, TField> 扩展 any[] ? any[] & DeepValue<TFormData, TField>[number] : never
UpdateMetaOptions
Promise<void>
FieldManipulator.insertFieldValue
FieldManipulator.insertFieldValue
mount(): () => void
mount(): () => void
定义于: packages/form-core/src/FormApi.ts:1278
Function
void
moveFieldValues<TField>(
field,
index1,
index2,
opts?): void
moveFieldValues<TField>(
field,
index1,
index2,
opts?): void
定义于: packages/form-core/src/FormApi.ts:2262
将第一个指定索引的值移动到数组字段中的第二个指定索引。
• TField 扩展 string
TField
number
number
UpdateMetaOptions
void
FieldManipulator.moveFieldValues
FieldManipulator.moveFieldValues
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:2463
使用给定的标准模式解析表单值,并返回问题(如果有)。此方法不设置任何内部错误。
StandardSchemaV1<TFormData, unknown>
用于解析表单值的标准模式。
| undefined | { fields: Record<string, StandardSchemaV1Issue[]>; form: Record<string, StandardSchemaV1Issue[]>; }
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:2475
使用给定的标准模式解析表单值,并返回问题(如果有)。此方法不设置任何内部错误。
StandardSchemaV1<TFormData, unknown>
用于解析表单值的标准模式。
Promise<| undefined | { fields: Record<string, StandardSchemaV1Issue[]>; form: Record<string, StandardSchemaV1Issue[]>; }>
pushFieldValue<TField>(
field,
value,
opts?): void
pushFieldValue<TField>(
field,
value,
opts?): void
定义于: packages/form-core/src/FormApi.ts:2123
将一个值推入数组字段。
• TField 扩展 string
TField
DeepValue<TFormData, TField> 扩展 any[] ? any[] & DeepValue<TFormData, TField>[number] : never
UpdateMetaOptions
void
FieldManipulator.pushFieldValue
FieldManipulator.pushFieldValue
removeFieldValue<TField>(
field,
index,
opts?): Promise<void>
removeFieldValue<TField>(
field,
index,
opts?): Promise<void>
定义于: packages/form-core/src/FormApi.ts:2196
在指定索引处从数组字段中移除一个值。
• TField 扩展 string
TField
number
UpdateMetaOptions
Promise<void>
FieldManipulator.removeFieldValue
FieldManipulator.removeFieldValue
replaceFieldValue<TField>(
field,
index,
value,
opts?): Promise<void>
replaceFieldValue<TField>(
field,
index,
value,
opts?): Promise<void>
定义于: packages/form-core/src/FormApi.ts:2170
将一个值替换到数组字段的指定索引处。
• TField 扩展 string
TField
number
DeepValue<TFormData, TField> 扩展 any[] ? any[] & DeepValue<TFormData, TField>[number] : never
UpdateMetaOptions
Promise<void>
FieldManipulator.replaceFieldValue
FieldManipulator.replaceFieldValue
reset(values?, opts?): void
reset(values?, opts?): void
定义于: packages/form-core/src/FormApi.ts:1368
将表单状态重置为默认值。如果提供了值,则表单将重置为这些值,并且默认值将被更新。
TFormData
用于重置表单的可选值。
用于控制重置行为的可选选项。
boolean
void
resetField<TField>(field): void
resetField<TField>(field): void
定义于: packages/form-core/src/FormApi.ts:2317
重置字段值和元数据为默认状态
• TField 扩展 string
TField
void
FieldManipulator.resetField
FieldManipulator.resetField
resetFieldMeta<TField>(fieldMeta): Record<TField, AnyFieldMeta>
resetFieldMeta<TField>(fieldMeta): Record<TField, AnyFieldMeta>
定义于: packages/form-core/src/FormApi.ts:2053
重置每个字段的元数据
• TField 扩展 string
Record<TField, AnyFieldMeta>
Record<TField, AnyFieldMeta>
setErrorMap(errorMap): void
setErrorMap(errorMap): void
定义于: packages/form-core/src/FormApi.ts:2335
更新表单的 errorMap
FormValidationErrorMap<TFormData, UnwrapFormValidateOrFn<TOnMount>, UnwrapFormValidateOrFn<TOnChange>, UnwrapFormAsyncValidateOrFn<TOnChangeAsync>, UnwrapFormValidateOrFn<TOnBlur>, UnwrapFormAsyncValidateOrFn<TOnBlurAsync>, UnwrapFormValidateOrFn<TOnSubmit>, UnwrapFormAsyncValidateOrFn<TOnSubmitAsync>, UnwrapFormValidateOrFn<TOnDynamic>, UnwrapFormAsyncValidateOrFn<TOnDynamicAsync>, UnwrapFormAsyncValidateOrFn<TOnServer>>
void
setFieldMeta<TField>(field, updater): void
setFieldMeta<TField>(field, updater): void
定义于: packages/form-core/src/FormApi.ts:2032
更新指定字段的元数据。
• TField 扩展 string
TField
void
FieldManipulator.setFieldMeta
FieldManipulator.setFieldMeta
setFieldValue<TField>(
field,
updater,
opts?): void
setFieldValue<TField>(
field,
updater,
opts?): void
定义于: packages/form-core/src/FormApi.ts:2069
设置指定字段的值,并可选择更新已触碰状态。
• TField 扩展 string
TField
Updater<DeepValue<TFormData, TField>>
UpdateMetaOptions
void
FieldManipulator.setFieldValue
FieldManipulator.setFieldValue
swapFieldValues<TField>(
field,
index1,
index2,
opts?): void
swapFieldValues<TField>(
field,
index1,
index2,
opts?): void
定义于: packages/form-core/src/FormApi.ts:2233
交换数组字段中指定索引处的值。
• TField 扩展 string
TField
number
number
UpdateMetaOptions
void
FieldManipulator.swapFieldValues
FieldManipulator.swapFieldValues
update(options?): void
update(options?): void
定义于: packages/form-core/src/FormApi.ts:1298
更新表单选项和表单状态。
FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>
void
validateAllFields(cause): Promise<unknown[]>
validateAllFields(cause): Promise<unknown[]>
定义于: packages/form-core/src/FormApi.ts:1394
使用给定的验证原因,通过正确的处理程序验证所有字段。
ValidationCause
Promise<unknown[]>
FieldManipulator.validateAllFields
FieldManipulator.validateAllFields
validateArrayFieldsStartingFrom<TField>(
field,
index,
cause): Promise<unknown[]>
validateArrayFieldsStartingFrom<TField>(
field,
index,
cause): Promise<unknown[]>
定义于: packages/form-core/src/FormApi.ts:1424
使用给定的验证类型,通过正确的处理程序验证表单中指定数组的子项,从给定索引开始直到结束。
• TField 扩展 string
TField
number
ValidationCause
Promise<unknown[]>
FieldManipulator.validateArrayFieldsStartingFrom
FieldManipulator.validateArrayFieldsStartingFrom
validateField<TField>(field, cause): unknown[] | Promise<unknown[]>
validateField<TField>(field, cause): unknown[] | Promise<unknown[]>
定义于: packages/form-core/src/FormApi.ts:1465
使用给定的验证类型,通过正确的处理程序验证表单中指定的字段。
• TField 扩展 string
TField
ValidationCause
unknown[] | Promise<unknown[]>
FieldManipulator.validateField
FieldManipulator.validateField
您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。