簡體   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