我有一个要根据其他字段的值呈现的表单中的字段。
我监听该字段的“ OnChange”事件,然后触发新字段的form.change(尚未呈现),但在呈现时将无法获取值。
我为此问题创建了一个沙箱:https://codesandbox.io/embed/priceless-keldysh-gfd3b
预期结果:选择“加热”时,应显示比例因子并获得值“ 1”
解决此问题的最佳做法是什么?假设表单内有很多依赖项。
答案 0 :(得分:0)
由于<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>