【发布时间】:2021-01-27 22:44:25
【问题描述】:
我有组件:
const FormComponent = () => {
const { register, handleSubmit, errors } = useForm();
const [val, setVal] = useState("");
const handleSubmitForm = () => console.log("send!");
const handleChange = (e) => {
setVal(e.target.value);
};
return (
<form onSubmit={handleSubmit(handleSubmitForm)}>
<input
type="text"
name="test"
value={val}
ref={register({ required: "The field is required." })}
onChange={handleChange}
/>
{errors.test && errors.test.message}
<button type="submit">Send</button>
</form>
);
};
当我点击“提交”时,react-hook-form 显示错误消息:'该字段是必填项。
'。当我想写单词“TEST”,接下来我尝试删除这个文本,例如选择所有文本并单击 Backspace 按钮,然后我无法从输入中删除这个文本,但显示有关空值的消息。
如何将react-hook-form 与value 和onChange 事件一起使用?
【问题讨论】:
-
我认为你正在混合受控和不受控。如果你想使用受控输入,我建议使用控制器。
标签: reactjs onchange react-hook-form