如何提交与React挂钩表单时,有模式onBlur?



这不是这个问题要问的。

基本上,我有一个表单,我想在字段更改时自动提交。例如,我不想要一个提交按钮。

所以,有了这个:

const {
formState,
handleSubmit
} = useForm<TSaveInputSchema>({
mode: "onBlur",
reValidateMode: "onChange",
criteriaMode: "firstError",
resolver: zodResolver(saveInputSchema),
});
const handleSave = useCallback<HandleSaveCallback>(
(data) => {
console.log("DATA SUBMIT", data);
}
), []);

和这样的HTML:

<form onSubmit={handleSubmit(handleSave)}>
<input {...register("name")} />
</form>

当输入字段被模糊时不调用handleSave函数。

如果可能的话,这怎么能做到呢?或者我必须通过其他方式手动触发提交(例如使用useEffect)?

一天太多的重构,解决方案是愚蠢的:

代替

<form onSubmit={handleSubmit(handleSave)}>
<input {...register("name")} />
</form>

<input {...register("name", { onBlur:handleSubmit(handleSave) )} />

最新更新