在以最终形式更新表单值之前要求用户确认

Ask user for confirmation before updating form value in final-form

我正在使用 react-final-form 并且有 2 个单选字段 (Yes/No)。当 'Yes' 是当前值并且用户选择 'No' 我想显示一个模式,要求用户确认。如果用户取消,该值应保持不变,如果用户确认,则应更新。

有没有办法用当前版本的 react-final-form 或 final-form 做到这一点?我查看了文档并注意到 beforeSubmit,但是没有看到 beforeChange

您必须自己拦截更改。

<Field name="whatever">
  {({ input }) => (
    <input {...input} onChange={event => {
      if(showConfirmDialog()) {
        input.onChange(event); // pass event through to RFF
      }
    }}/>
  )}
</Field>