繁体   English   中英

React Hook Form 将控制器(值)重置为默认值

[英]React Hook Form reset Controller (value) to default

这是我的组件的一个示例,包裹在 Controller 中

<div className="mt-1">
    <Controller
       control={control}
       name="selectedBirthMonth"
       defaultValue={selectedMonth}
       render={({ field }) => (
       < SelectBirthMonth 
         field={field}
         startYear={startYear}
         selectedYear={selectedYear}
         months={months}
         value={selectedMonth}
         reducedMonths={reducedMonths}
         onChange={useEffect(() => monthSelect(field.value)), [selectedMonth]}/>
   )}
 />
</div>

现在我只是想用一个按钮来重置它。 后来我喜欢有条件地重置,这取决于兄弟组件中的值。 首先让它与按钮一起工作会很棒:

<input
  style={{ display: "block", marginTop: 20 }}
  type="button"
  onClick={() =>
   reset(selectedBirthMonth)
  }
  value="Reset with values"
/>

我收到错误: selectedBirthMonth 未定义。 基本上,我的目的是,点击后,整个组件进入默认状态/首次呈现时的状态。 我错过了什么?

reset 并没有以某种方式完成这项工作,但 setValue 做了。 但是我设置的是一个值,而不是第一次渲染后的原始状态,但在我的情况下它是一样的。

<input
  style={{ display: "block", marginTop: 20 }}
  type="button"
  onClick={() =>
    etValue('selectedBirthMonth', lastAvaliableMonth)
  }
  value="Reset with values"
/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM