Reactjs 是否在提交时重置react hook表单中react select的选定值?
我正在替换应用程序中的一些Reactjs 是否在提交时重置react hook表单中react select的选定值?,reactjs,react-select,react-hook-form,Reactjs,React Select,React Hook Form,我正在替换应用程序中的一些select输入,以使用react select。在使用react select之前,我使用.reset()功能在提交时清除表单中的所选选项,该功能现在似乎不会产生任何影响 我试图在onSubmit函数中存储一个变量,将null作为Controller中要设置为defaultValue属性的值,认为它会重置东西。然而,这不起作用。什么是处理这个问题的干净方法 父窗体组件: function AddActivityForm(props) { const { regi
select
输入,以使用react select
。在使用react select
之前,我使用.reset()
功能在提交时清除表单中的所选选项,该功能现在似乎不会产生任何影响
我试图在onSubmit
函数中存储一个变量,将null
作为Controller
中要设置为defaultValue
属性的值,认为它会重置东西。然而,这不起作用。什么是处理这个问题的干净方法
父窗体组件:
function AddActivityForm(props) {
const { register, handleSubmit, control, watch, errors } = useForm();
const onSubmit = (data) => {
//Additional logic here
document.getElementById("activity-entry-form").reset();
};
return (
<Form id="activity-entry-form" onSubmit={handleSubmit(onSubmit)}>
<ActivityPredecessorInput
activities={props.activities}
formCont={control}
/>
<Button variant="primary" type="submit" className="mb-2">
Submit
</Button>
</Form>
);
}
export default AddActivityForm;
根据@Bill在原始帖子评论中提供的答案回答我自己的问题。React-hook表单提供了一个非常简单的解决方案 创建一个
const
来存储默认值(在本例中存储在父组件中)
在useForm
const
中包括reset
方法
const { register, handleSubmit, reset, control, watch, errors } = useForm();
在传递defaultValues
的onSubmit
函数中调用reset
方法
reset(defaultValues);
你可以通过一次点击
onClick={()=>setValue(“activitiesbefore”,”)}
参数,该参数具有来自useForm的setValue值
const{register,handleSubmit,errors,reset,control,setValue}=useForm()代码>
“重置”按钮或“提交”按钮您是否见过此示例:@Bill我以前从未见过此示例!看起来我应该能够解决他们如何使用“重置表单”按钮的问题。
const { register, handleSubmit, reset, control, watch, errors } = useForm();
reset(defaultValues);