我有一个表单中的字段,我想根据另一个字段的值来呈现它。
我侦听字段的"OnChange"事件,然后触发新字段的form.change(尚未呈现(,但它在呈现时不会获得值。
我为该问题创建了一个沙箱:https://codesandbox.io/embed/priceless-keldysh-gfd3b
预期结果:选择"热量"时,应显示比例因子并得到值"1">
解决这个问题的最佳实践是什么?假设表单中有很多依赖项。
因为<Form />
订阅需要可见<Field />
但是当值.meterType !== "热量"时,您的字段缩放因子将被删除
{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>