|
@@ -1951,22 +1951,22 @@ FormState 存储了所有 Form 内部的状态值,包括各表单控件的值
|
|
|
为了防止用户在读取 formState、values 等内部状态后,意外操作直接了修改 Form 组件的内部状态等情况,Semi 对于 formApi.setValue、setValues的入参、formApi.getFormState、getValue、getValues的返回结果都会自动进行 deepClone
|
|
|
</Notice>
|
|
|
|
|
|
-| Function | 说明 | example |
|
|
|
-| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
|
|
|
-| getFormState | 获取 FormState | formApi.getFormState() |
|
|
|
-| submitForm | 可手动触发 submit 提交操作 | formApi.submitForm() |
|
|
|
-| reset | 可手动对 form 进行重置 | formApi.reset(fields?: Array<string>) |
|
|
|
-| validate | 可手动触发对表单的校验,不传参时默认触发整全体Field的校验(配置Form级别校验器后,Field级别校验器在submit或formApi.validate()时不会再被触发),若想触发部分field的校验,将目标field数组传入即可 | formApi.validate()<br/>.then(values=>{})<br/>.catch(errors=>{}) <br/>或 formApi.validate(\['fieldA','fieldB'\])<br/> |
|
|
|
-| setValues | 设置整个表单的值。第二个参数中的 isOverride 默认为 false<br/>默认情况下只会从`newValues`中取 Form 中已存在的 field 的值更新到`formState.values`中。<br/>当 isOverride 为`true`时,会直接以 newValues 覆盖赋值给 formState.values | formApi.setValues(newValues: object, { isOverride: boolean }) |
|
|
|
-| setValue | 提供直接修改 formState.values 方法,与 setValues 的区别是它仅修改单个 field | formApi.setValue(field: string, newFieldValue: any) |
|
|
|
-| getValue | 获取 单个 Field 的值 | formApi.getValue() <br/>formApi.getValue(field: string) |
|
|
|
-| getValues | 获取 所有 Field 的值 | formApi.getValues() |
|
|
|
-| setTouched | 修改 formState.touched | formApi.setTouched(field: string, isTouched: boolean) <br/> |
|
|
|
-| getTouched | 获取 Field 的 touched 状态 | formApi.getTouched(field: string) |
|
|
|
-| setError | 修改 某个 field 的 error 信息 | formApi.setError(field: string, fieldErrorMessage: string) |
|
|
|
-| getError | 获取 Field 的 error 状态 | formApi.getError(field: string) |
|
|
|
-| getFieldExist | 获取 Form 中是否存在对应的 field | formApi.getFieldExist(field: string) |
|
|
|
-| scrollToField | 滚动至指定的 field | formApi.scrollToField(field: string, scrollOpts: object) |
|
|
|
+| Function | 说明 | example |
|
|
|
+| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |---------------------------------------------------------------------------------------------------------------------|
|
|
|
+| getFormState | 获取 FormState | formApi.getFormState() |
|
|
|
+| submitForm | 可手动触发 submit 提交操作 | formApi.submitForm() |
|
|
|
+| reset | 可手动对 form 进行重置 | formApi.reset(fields?: Array\<string\>) |
|
|
|
+| validate | 可手动触发对表单的校验,不传参时默认触发整全体Field的校验(配置Form级别校验器后,Field级别校验器在submit或formApi.validate()时不会再被触发),若想触发部分field的校验,将目标field数组传入即可 | formApi.validate()<br/>.then(values=>{})<br/>.catch(errors=>{}) <br/>或 formApi.validate(\['fieldA','fieldB'\])<br/> |
|
|
|
+| setValues | 设置整个表单的值。第二个参数中的 isOverride 默认为 false<br/>默认情况下只会从`newValues`中取 Form 中已存在的 field 的值更新到`formState.values`中。<br/>当 isOverride 为`true`时,会直接以 newValues 覆盖赋值给 formState.values | formApi.setValues(newValues: object, { isOverride: boolean }) |
|
|
|
+| setValue | 提供直接修改 formState.values 方法,与 setValues 的区别是它仅修改单个 field | formApi.setValue(field: string, newFieldValue: any) |
|
|
|
+| getValue | 获取 单个 Field 的值 | formApi.getValue() <br/>formApi.getValue(field: string) |
|
|
|
+| getValues | 获取 所有 Field 的值 | formApi.getValues() |
|
|
|
+| setTouched | 修改 formState.touched | formApi.setTouched(field: string, isTouched: boolean) <br/> |
|
|
|
+| getTouched | 获取 Field 的 touched 状态 | formApi.getTouched(field: string) |
|
|
|
+| setError | 修改 某个 field 的 error 信息 | formApi.setError(field: string, fieldErrorMessage: string) |
|
|
|
+| getError | 获取 Field 的 error 状态 | formApi.getError(field: string) |
|
|
|
+| getFieldExist | 获取 Form 中是否存在对应的 field | formApi.getFieldExist(field: string) |
|
|
|
+| scrollToField | 滚动至指定的 field | formApi.scrollToField(field: string, scrollOpts: object) |
|
|
|
### 如何获取 formApi
|
|
|
|
|
|
- Form 组件在 ComponentDidMount 阶段,会执行 props 传入的 getFormApi 回调,你可以在回调函数中保存 formApi 的引用,以便后续进行调用(**示例如下代码**)
|