React 最终形式在初始渲染后触发 handleSubmit

React final form triggers handleSubmit after the initial render

我的 react-final-form 只有 Switch 组件。它看起来像这样:

<Form
  onSubmit={onSubmit}
  initialValues={initialValues}
  render={({ handleSubmit }) => (
    <form onSubmit={handleSubmit}>
      <Field name="booleanValue" component={Switch} onChange={handleSubmit}/> //triggers when receives value
    </form>
   )
  }
/>

我只想在用户更改后触发 handleSubmit,而不是在第一次呈现表单时触发。

<Field/> 没有您尝试的 onChange 道具。像这样的东西可以工作。

import { OnChange } from 'react-final-form-listeners'

...

<Form
  onSubmit={onSubmit}
  initialValues={initialValues}
  render={({ handleSubmit, form }) => (
    <form onSubmit={handleSubmit}>
      <Field name="booleanValue" component={Switch}/>
      <OnChange name="booleanValue">
        {(value, previousValue) => {
          form.submit()
        }}
      </OnChange>
    </form>
   )
  }
/>

P.S。我希望您的 Switch 组件知道从 input 属性中获取 valueonChange

希望对您有所帮助!