簡體   English   中英

反應最終形式條件形式字段在渲染時未獲取值

[英]react final form conditional form fields are not getting values while rendered

我有一個要根據另一個字段的值呈現的表單中的字段。

我監聽該字段的“ OnChange”事件,然后觸發新字段的form.change(尚未渲染),但在渲染時不會獲取該值。

我為此問題創建了一個沙箱: https : //codesandbox.io/embed/priceless-keldysh-gfd3b

預期結果:選擇“加熱”時,應顯示比例因子並獲得值“ 1”

解決該問題的最佳做法是什么? 假設表單內有很多依賴關系。

由於<Form />需要可見的<Field />進行訂閱

但是當values.meterType!==“ heat”時,您的字段scaleFactor將被刪除

{values.meterType && values.meterType === "heat" && (
  <Field name="scalingFactor" component="input" />
)}

您需要將以下代碼更改為:

<Field name="scalingFactor">
  {({ input }) => {
    return (
      <React.Fragment>                    
        {values.meterType && values.meterType === "heat" &&
          <input {...input} />
        }
      </React.Fragment>
    );
  }}
</Field>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM