React Final Form 条件表单字段在呈现时未获取值



我有一个表单中的字段,我想根据另一个字段的值来呈现它。

我侦听字段的"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>

相关内容

  • 没有找到相关文章