我想知道如何在下面代码中的Name和State都为空的情况下禁用按钮,换句话说,我想知道如何使按钮只有在name和state都输入的情况下才能按下,而不管email是否为空。
import React from "react";
import { useForm, SubmitHandler } from "react-hook-form";
type FormValues = {
name: string;
state: string;
email: string;
};
export default function App() {
const { register, handleSubmit } = useForm<FormValues>();
const onSubmit: SubmitHandler<FormValues> = data => console.log(data);
return (
<form onSubmit={handleSubmit(onSubmit)}>
<input {...register("name")} />
<input {...register("state")} />
<input type="email" {...register("email")} />
<input type="submit" />
</form>
);
}
1条答案
按热度按时间vxf3dgd41#
您可以通过检查formState对象的属性
isValid
来实现这一点。当isValid
为false时禁用该按钮,并将register方法中name
和state
的required
属性设置为true
。无论电子邮件输入如何,只要名称或状态为空,该按钮就会以这种方式禁用。下面是一个工作版本: