我的反应最终形式中只有 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>
)
}
/>
附言我希望您的Switch
组件知道从input
道具中获得value
和onChange
。
希望对您有所帮助!