Реакция окончательных триггеров формы handleSubmit после начального рендера - PullRequest
0 голосов
/ 22 января 2020

У меня есть только компонент Switch в моей реакции-финальной форме. Это выглядит так:

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

Я хочу вызвать handleSubmit только после изменений пользователя, а не при первом рендере формы.

1 Ответ

1 голос
/ 24 января 2020

<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>
   )
  }
/>

PS Надеюсь, ваш Switch компонент знает, как получить свои value и onChange от input проп.

Надеюсь, что это поможет !

...