React:使用 FieldArray 方法更改多步表单内的值

React: change values inside multi step form with FieldArray methods

我用 react-final-form 制作了一个 多步骤表单 ,它利用了 FieldArray。 最终用户可以添加 X 种房间类型,下一步将根据该数量生成房间数组。

这是一个live demo - codesandbox

现在谈到第二步(房间配置),我需要在正在进行的过程中设置默认值: 当用户选择最大成人人数时,最大儿童的值应设置为该数字减 1。

我在 FieldArray 中使用 <OnChange> 组件(调用 fields.update() 方法)。
它可以工作,但问题是它会更改对象内的所有值。您可以在上面的演示中检查此行为。

我不知道出了什么问题。

在此先感谢您的帮助。

首先,外形漂亮!你们非常亲密。我已将 <OnChange/> 组件移至 RoomRow 并使用 <Field/> 获取 max_children 字段的 onChange