React hook Form知道何时修改值



我们如何才能知道表单是否以react钩子形式进行了修改。任何人都有想法。我想知道是否有任何值被更改,并将编辑后的状态更新为true。

在我将defaultValue提供给useForm({defaultValues:values}(之后。当值从defaultValue更新或更改时,我希望得到通知。

使用isDirty属性

function YourComponent() {
const { formState } = useForm();
const isFormEdited = formState.isDirty;
....

这是文件参考

想好了如何实现这一点。指定defaultValues属性非常重要。

请参阅formState文档的isDirty部分:

请确保在useForm中提供所有输入的defaultValues,这样钩子表单就可以有一个真理源来比较表单是否脏。

还有一个简短的例子:

const {
formState: {
isDirty, 
},
} = useForm<ProfileFormInterface>({
defaultValues: {name: 'John Doe', email: 'jd@johndoe.com'},
})

isDirty现在只有在名称或电子邮件发生更改时才为true。

最新更新