定义于: packages/form-core/src/FormApi.ts:664
一个表示 Form API 的类。它处理表单状态的逻辑和交互。
通常,你不需要直接创建一个新的 FormApi 实例。相反,你将使用框架钩子/函数,如 useForm 或 createForm 来为你创建一个使用你的框架响应式模型的新实例。但是,如果你需要手动创建一个新实例,你可以通过调用 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<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 实例。
FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta>
FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta>
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: 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: 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: 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: 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
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<TField>(field): void
deleteField<TField>(field): void
定义于: packages/form-core/src/FormApi.ts:1772
• TField extends string | number
TField
void
getAllErrors(): object
getAllErrors(): object
定义于: packages/form-core/src/FormApi.ts:2010
返回表单和字段级别的错误
object
fields: Record<DeepKeys<TFormData>, {
errorMap: ValidationErrorMap;
errors: unknown[];
}>;
fields: Record<DeepKeys<TFormData>, {
errorMap: ValidationErrorMap;
errors: unknown[];
}>;
form: object;
form: object;
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>>;
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<TField>(field): FieldInfo<TFormData>
getFieldInfo<TField>(field): FieldInfo<TFormData>
定义于: packages/form-core/src/FormApi.ts:1686
获取指定字段的字段信息。
• TField extends string | number
TField
FieldInfo<TFormData>
getFieldMeta<TField>(field): undefined | AnyFieldMeta
getFieldMeta<TField>(field): undefined | AnyFieldMeta
定义于: packages/form-core/src/FormApi.ts:1677
获取指定字段的元数据。
• TField extends string | number
TField
undefined | AnyFieldMeta
getFieldValue<TField>(field): DeepValue<TFormData, TField>
getFieldValue<TField>(field): DeepValue<TFormData, TField>
定义于: packages/form-core/src/FormApi.ts:1670
获取指定字段的值。
• TField extends string | number
TField
DeepValue<TFormData, TField>
handleSubmit(): Promise<void>
handleSubmit(): Promise<void>
定义于: packages/form-core/src/FormApi.ts:1586
处理表单提交,执行验证,并调用适当的 onSubmit 或 onInvalidSubmit 回调。
Promise<void>
handleSubmit(submitMeta): Promise<void>
handleSubmit(submitMeta): Promise<void>
定义于: packages/form-core/src/FormApi.ts:1587
处理表单提交,执行验证,并调用适当的 onSubmit 或 onInvalidSubmit 回调。
TSubmitMeta
Promise<void>
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
TField
number
DeepValue<TFormData, TField, []> extends any[] ? any[] & DeepValue<TFormData, TField, []>[number] : never
UpdateMetaOptions
Promise<void>
mount(): () => void
mount(): () => void
定义于: packages/form-core/src/FormApi.ts:1054
Function
void
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
TField
number
number
UpdateMetaOptions
void
pushFieldValue<TField>(
field,
value,
opts?): void
pushFieldValue<TField>(
field,
value,
opts?): void
定义于: packages/form-core/src/FormApi.ts:1796
将一个值推入数组字段。
• TField extends string | number
TField
DeepValue<TFormData, TField, []> extends any[] ? any[] & DeepValue<TFormData, TField, []>[number] : never
UpdateMetaOptions
void
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
TField
number
UpdateMetaOptions
Promise<void>
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
TField
number
DeepValue<TFormData, TField, []> extends any[] ? any[] & DeepValue<TFormData, TField, []>[number] : never
UpdateMetaOptions
Promise<void>
reset(values?, opts?): void
reset(values?, opts?): void
定义于: packages/form-core/src/FormApi.ts:1139
将表单状态重置为默认值。如果提供了值,表单将重置为这些值,并且默认值将被更新。
TFormData
用于重置表单的可选值。
用于控制重置行为的可选选项。
boolean
void
resetField<TField>(field): void
resetField<TField>(field): void
定义于: packages/form-core/src/FormApi.ts:1963
将字段值和元数据重置为默认状态
• TField extends string | number
TField
void
resetFieldMeta<TField>(fieldMeta): Record<TField, AnyFieldMeta>
resetFieldMeta<TField>(fieldMeta): Record<TField, AnyFieldMeta>
定义于: packages/form-core/src/FormApi.ts:1726
重置每个字段的元数据
• TField extends string | number
Record<TField, AnyFieldMeta>
Record<TField, AnyFieldMeta>
setErrorMap(errorMap): void
setErrorMap(errorMap): void
定义于: packages/form-core/src/FormApi.ts:1984
更新表单的 errorMap
ValidationErrorMap<TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync>
void
setFieldMeta<TField>(field, updater): void
setFieldMeta<TField>(field, updater): void
定义于: packages/form-core/src/FormApi.ts:1705
更新指定字段的元数据。
• TField extends string | number
TField
void
setFieldValue<TField>(
field,
updater,
opts?): void
setFieldValue<TField>(
field,
updater,
opts?): void
定义于: packages/form-core/src/FormApi.ts:1742
设置指定字段的值,并可选择更新 touched 状态。
• TField extends string | number
TField
Updater<DeepValue<TFormData, TField, []>>
UpdateMetaOptions
void
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
TField
number
number
UpdateMetaOptions
void
update(options?): void
update(options?): void
定义于: packages/form-core/src/FormApi.ts:1071
更新表单选项和表单状态。
FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta>
void
validateAllFields(cause): Promise<unknown[]>
validateAllFields(cause): Promise<unknown[]>
定义于: packages/form-core/src/FormApi.ts:1165
使用给定验证原因的正确处理程序验证所有字段。
ValidationCause
Promise<unknown[]>
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
TField
number
ValidationCause
Promise<unknown[]>
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
TField
ValidationCause
unknown[] | Promise<unknown[]>
您的每周 JavaScript 新闻。每周一免费发送给超过 100,000 名开发者。