FormState

Interface: FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>

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

表示表单当前状态的对象。

继承自

  • BaseFormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>.DerivedFormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>

类型参数

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>

TOnDynamic extends undefined | FormValidateOrFn<TFormData>

TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>

TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>

属性

_force_re_eval?

ts
optional _force_re_eval: boolean;
optional _force_re_eval: boolean;

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

@private,用于在选项更改时强制重新评估表单状态

继承自

ts
BaseFormState._force_re_eval
BaseFormState._force_re_eval

canSubmit

ts
canSubmit: boolean;
canSubmit: boolean;

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

一个布尔值,指示基于当前状态表单是否可以提交。

继承自

ts
DerivedFormState.canSubmit
DerivedFormState.canSubmit

errorMap

ts
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>>;

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

表单本身的错误映射。

继承自

ts
BaseFormState.errorMap
BaseFormState.errorMap

errors

ts
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>)[];

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

表单本身的错误数组。

继承自

ts
DerivedFormState.errors
DerivedFormState.errors

fieldMeta

ts
fieldMeta: Record<DeepKeys<TFormData>, AnyFieldMeta>;
fieldMeta: Record<DeepKeys<TFormData>, AnyFieldMeta>;

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

表单中每个字段的字段元数据记录。

继承自

ts
DerivedFormState.fieldMeta
DerivedFormState.fieldMeta

fieldMetaBase

ts
fieldMetaBase: Record<DeepKeys<TFormData>, AnyFieldMetaBase>;
fieldMetaBase: Record<DeepKeys<TFormData>, AnyFieldMetaBase>;

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

表单中每个字段的字段元数据记录,不包括派生属性,如 errors

继承自

ts
BaseFormState.fieldMetaBase
BaseFormState.fieldMetaBase

isBlurred

ts
isBlurred: boolean;
isBlurred: boolean;

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

一个布尔值,指示表单中的任何字段是否已被触碰。

继承自

ts
DerivedFormState.isBlurred
DerivedFormState.isBlurred

isDefaultValue

ts
isDefaultValue: boolean;
isDefaultValue: boolean;

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

一个布尔值,指示表单的所有字段是否与默认值相同。

继承自

ts
DerivedFormState.isDefaultValue
DerivedFormState.isDefaultValue

isDirty

ts
isDirty: boolean;
isDirty: boolean;

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

一个布尔值,指示用户是否修改了表单的任何字段的值。如果用户至少修改了一个字段,则求值为 true。与 isPristine 相反。

继承自

ts
DerivedFormState.isDirty
DerivedFormState.isDirty

isFieldsValid

ts
isFieldsValid: boolean;
isFieldsValid: boolean;

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

一个布尔值,指示表单的所有字段是否都有效。如果没有字段错误,则求值为 true

继承自

ts
DerivedFormState.isFieldsValid
DerivedFormState.isFieldsValid

isFieldsValidating

ts
isFieldsValidating: boolean;
isFieldsValidating: boolean;

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

一个布尔值,指示表单的任何字段是否正在进行验证。

继承自

ts
DerivedFormState.isFieldsValidating
DerivedFormState.isFieldsValidating

isFormValid

ts
isFormValid: boolean;
isFormValid: boolean;

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

一个布尔值,指示表单是否有效。

继承自

ts
DerivedFormState.isFormValid
DerivedFormState.isFormValid

isFormValidating

ts
isFormValidating: boolean;
isFormValidating: boolean;

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

一个布尔值,指示表单是否正在进行验证。

继承自

ts
DerivedFormState.isFormValidating
DerivedFormState.isFormValidating

isPristine

ts
isPristine: boolean;
isPristine: boolean;

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

一个布尔值,指示用户是否未修改表单的任何字段的值。如果用户未修改任何字段,则求值为 true。与 isDirty 相反。

继承自

ts
DerivedFormState.isPristine
DerivedFormState.isPristine

isSubmitSuccessful

ts
isSubmitSuccessful: boolean;
isSubmitSuccessful: boolean;

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

一个布尔值,指示上次提交是否成功。

继承自

ts
BaseFormState.isSubmitSuccessful
BaseFormState.isSubmitSuccessful

isSubmitted

ts
isSubmitted: boolean;
isSubmitted: boolean;

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

一个布尔值,指示 onSubmit 函数是否已成功完成。

每次新的提交尝试后会恢复为 false

注意:您可以使用 isSubmitting 来检查表单当前是否正在提交。

继承自

ts
BaseFormState.isSubmitted
BaseFormState.isSubmitted

isSubmitting

ts
isSubmitting: boolean;
isSubmitting: boolean;

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

调用 handleSubmit 后,表单当前是否正在提交过程中的布尔值。

当提交因以下任一原因完成时恢复为 false

  • 验证步骤返回错误。
  • onSubmit 函数已完成。

注意:如果您在 onSubmit 函数中运行异步操作,请确保 await 它们,以确保 isSubmitting 仅在异步操作完成时才设置为 false

这对于在提交期间显示加载指示器或禁用表单输入很有用。

继承自

ts
BaseFormState.isSubmitting
BaseFormState.isSubmitting

isTouched

ts
isTouched: boolean;
isTouched: boolean;

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

一个布尔值,指示表单中的任何字段是否已被触碰。

继承自

ts
DerivedFormState.isTouched
DerivedFormState.isTouched

isValid

ts
isValid: boolean;
isValid: boolean;

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

一个布尔值,指示表单及其所有字段是否有效。如果没有错误,则求值为 true

继承自

ts
DerivedFormState.isValid
DerivedFormState.isValid

isValidating

ts
isValidating: boolean;
isValidating: boolean;

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

一个布尔值,指示表单或其任何字段是否正在进行验证。

继承自

ts
BaseFormState.isValidating
BaseFormState.isValidating

submissionAttempts

ts
submissionAttempts: number;
submissionAttempts: number;

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

一个用于跟踪提交尝试次数的计数器。

继承自

ts
BaseFormState.submissionAttempts
BaseFormState.submissionAttempts

validationMetaMap

ts
validationMetaMap: Record<"onMount" | "onChange" | "onBlur" | "onSubmit" | "onDynamic" | "onServer", undefined | ValidationMeta>;
validationMetaMap: Record<"onMount" | "onChange" | "onBlur" | "onSubmit" | "onDynamic" | "onServer", undefined | ValidationMeta>;

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

用于跟踪表单中验证逻辑的内部机制。

继承自

ts
BaseFormState.validationMetaMap
BaseFormState.validationMetaMap

values

ts
values: TFormData;
values: TFormData;

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

表单字段的当前值。

继承自

ts
BaseFormState.values
BaseFormState.values
我们的合作伙伴
Code Rabbit
订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

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

订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

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