Reactjs react hook表单-每次提交后输入字段为空
我想了解react hook表单是如何工作的。 为此,我创建了以下示例:Reactjs react hook表单-每次提交后输入字段为空,reactjs,react-hooks,Reactjs,React Hooks,我想了解react hook表单是如何工作的。 为此,我创建了以下示例: import React from 'react'; import { useForm } from 'react-hook-form'; const InputForm = () => { const { register, handleSubmit } = useForm(); const onSubmit = (data) => { console.log(data); };
import React from 'react';
import { useForm } from 'react-hook-form';
const InputForm = () => {
const { register, handleSubmit } = useForm();
const onSubmit = (data) => {
console.log(data);
};
return (
<>
<Form onSubmit={handleSubmit(onSubmit)}>
<Form.Group controlId='formBasicName'>
<Form.Label>Name</Form.Label>
<Form.Control
type='text'
name='name'
ref={register}
/>
</Form.Group>
<Form.Group controlId='formBasicEmail'>
<Form.Label>Email address</Form.Label>
<Form.Control
type='email'
name='email'
ref={register}
/>
<Button className='submitBtn' type='submit'>
Submit
</Button>
</Form>
</>
);
};
export default InputForm;
从“React”导入React;
从“react hook form”导入{useForm};
常量InputForm=()=>{
常量{register,handleSubmit}=useForm();
const onSubmit=(数据)=>{
控制台日志(数据);
};
返回(
名称
电子邮件地址
提交
);
};
导出默认输入格式;
它可以工作,如果我提交表单,我可以在控制台中看到数据对象。
唯一的问题是,每次提交后,输入框仍显示其值。
我希望在每次提交后,输入框的值变为空。
使用useState很容易做到这一点,但现在我正在使用react-hook from,我不知道如何做到这一点。使用此提交功能:
const onSubmit = (data, e) => {
e.target.reset();
};
将其添加到提交功能中使用以下代码重置输入字段
const onSubmit = (data, e) => {
e.target[0].value = ''; // for name
e.target[1].value = ''; // for email
};
反应钩形式v7。这将清除表单数据
const {register, handleSubmit, formState: { errors }, reset} = useForm();
const onSubmit = (data, e) => {
console.log(data)
reset('', {
keepValues: false,
})
}
请解释这可能有什么帮助,将代码扩展到最小的可复制示例,在这种状态下它没有帮助。
const {register, handleSubmit, formState: { errors }, reset} = useForm();
const onSubmit = (data, e) => {
console.log(data)
reset('', {
keepValues: false,
})
}