Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在提交后如何重置表单_Javascript_Reactjs_React Hooks_React Hook Form - Fatal编程技术网

Javascript 在提交后如何重置表单

Javascript 在提交后如何重置表单,javascript,reactjs,react-hooks,react-hook-form,Javascript,Reactjs,React Hooks,React Hook Form,这是我第一次使用钩子,我不知道如何在提交后清除输入字段,form.reset不起作用 import { useForm } from "react-hook-form"; import.... export default function AddUser() { const URL = "http://localhost:3000/AddUser"; const { register, handleSubmit, errors } = useF

这是我第一次使用钩子,我不知道如何在提交后清除输入字段,form.reset不起作用

import { useForm } from "react-hook-form";
import....

export default function AddUser() {
  const URL = "http://localhost:3000/AddUser";
  const { register, handleSubmit, errors } = useForm();

  const onSubmit = (data) => {
    if (data) {
      axios.post(URL, data);
    }
form.reset()
  };

这是退货部分

  return (
      <form onSubmit={handleSubmit(onSubmit)} noValidate>
        <div className="container">
              <input type="text" name="name" placeholder="Name" ref={register({required: true})}/> 

              <input type="radio" name="gender" value="male" ref={register({ required: true })}/>:Male

              <input type="radio" name="gender" value="female" ref={register({ required: true })}/:Female
            <button type="submit" className="btn "> add</button>
        </div>
      </form>
  );
}
提前谢谢

//////////


您需要设置一个默认状态,以在单击为句柄时设置,这样您的组件将在每次提交时重置。然而,如果你想阻止默认,你必须设置event.preventDefault;在onSubmit函数中

const onSubmit = (data) => {
    if (data) {
      axios.post(URL, data);
    }
    reset({})
  };
您需要从useformhook导入reset,以便能够在标记之外使用它

所以 常量{register,handleSubmit,errors,reset}=useForm

然后在你的提交功能上

const onSubmit = (data) => {
    if (data) {
      axios.post(URL, data);
    }
    reset({})
  };

按照这些思路应该可以工作。

你能分享一下你在哪里调用form.reset{}吗?如果有错误,会显示什么?是的,我称之为onSubmit fun。。。我编辑了这个问题,非常感谢,这很有帮助,但是更好的方法是像mena happy说的那样从useForm导入重置