</> resetField: (name: string, options?: Record<string, boolean | any>) => void
個々のフィールドの状態をリセットします。
プロパティ
この関数を呼び出すと。
isValidフォームの状態が再評価されます。isDirtyフォームの状態が再評価されます。
ResetFieldにはフィールドの状態を保持する機能があります。使用可能なオプションを以下に示します。
| 名前 | タイプ | 説明 | |
|---|---|---|---|
name | string | 登録されたフィールド名です。 | |
| options | keepError | boolean | trueに設定すると、フィールドのエラーが保持されます。 |
keepDirty | boolean | trueに設定すると、dirtyFieldsが保持されます。 | |
keepTouched | boolean | trueに設定すると、touchedFieldsの状態は変更されません。 | |
defaultValue | unknown | この値が提供されていない場合、フィールドは自身のdefaultValueに戻ります。この値が提供されている場合
|
ルール
-
nameは登録されたフィールド名と一致する必要があります。
register("test")resetField("test") // ✅ register input and resetField worksresetField("non-existent-name") // ❌ failed by input not found
例
フィールドの状態のリセット
import * as React from "react"import { useForm } from "react-hook-form"export default function App() {const {register,resetField,formState: { isDirty, isValid },} = useForm({mode: "onChange",defaultValues: {firstName: "",},})const handleClick = () => resetField("firstName")return (<form><input {...register("firstName", { required: true })} /><p>{isDirty && "dirty"}</p><p>{isValid && "valid"}</p><button type="button" onClick={handleClick}>Reset</button></form>)}
オプションを使った リセット
import * as React from "react"import { useForm } from "react-hook-form"export default function App() {const {register,resetField,formState: { isDirty, isValid, errors, touchedFields, dirtyFields },} = useForm({mode: "onChange",defaultValues: {firstName: "",},})return (<form><input {...register("firstName", { required: true })} /><p>isDirty: {isDirty && "dirty"}</p><p>touchedFields: {touchedFields.firstName && "touched field"}</p><p>dirtyFields:{dirtyFields.firstName && "dirty field"}</p><p>isValid: {isValid && "valid"}</p><p>error: {errors.firstName && "error"}</p><hr /><buttontype="button"onClick={() => resetField("firstName", { keepError: true })}>Reset keep error</button><buttontype="button"onClick={() => resetField("firstName", { keepTouched: true })}>Reset keep touched fields</button><buttontype="button"onClick={() => resetField("firstName", { keepDirty: true })}>Reset keep dirty fields</button><buttontype="button"onClick={() => resetField("firstName", { defaultValue: "New" })}>update defaultValue</button></form>)}
ビデオ
次のビデオチュートリアルはresetFieldAPIの使用方法を示しています。
サポートありがとうございます
お使いのプロジェクトでReact Hook Formが役立つと判断された場合は、スターを付け、サポートをお願いします。