如果反应最终形式已经触及形式之外的状态,有什么办法可以得到
Is there any way to get if react final form has touched status outside of form
我在另一个组件中使用 React final form,比如对话框 div,我想在关闭此对话框之前检查此表单是否已更改 div(以显示类似 'You have unsaved changes' 的消息).
这是一个示例,我不知道如何在最终形式更改时调用表单中的 onChange - 在标签中,如果我使用一些自定义输入,它将无法工作,而在验证方法中,它看起来太脏了。
class Dialog extends Component {
...
onFormChange = () => this.setState({isFormChanged: true})
close() {
if (this.isFormChanged){
this.showDialog()
} else {
//close dialog
}
}
render(){
return <div>
<MyForm onChange={this.onFormChange} />
</div>
}
}
和一个表格
function MyForm({ saveData, onChange, ...props }) {
return <div>
<Form
onSubmit={saveData}}
render={({
handleSubmit,
}) => (
<form onSubmit={handleSubmit} onChange={() => onChange()}>
</form>
尝试查看 <FormSpy>
辅助组件,它是 onChange
道具:https://github.com/final-form/react-final-form#formspyprops
我在另一个组件中使用 React final form,比如对话框 div,我想在关闭此对话框之前检查此表单是否已更改 div(以显示类似 'You have unsaved changes' 的消息).
这是一个示例,我不知道如何在最终形式更改时调用表单中的 onChange - 在标签中,如果我使用一些自定义输入,它将无法工作,而在验证方法中,它看起来太脏了。
class Dialog extends Component {
...
onFormChange = () => this.setState({isFormChanged: true})
close() {
if (this.isFormChanged){
this.showDialog()
} else {
//close dialog
}
}
render(){
return <div>
<MyForm onChange={this.onFormChange} />
</div>
}
}
和一个表格
function MyForm({ saveData, onChange, ...props }) {
return <div>
<Form
onSubmit={saveData}}
render={({
handleSubmit,
}) => (
<form onSubmit={handleSubmit} onChange={() => onChange()}>
</form>
尝试查看 <FormSpy>
辅助组件,它是 onChange
道具:https://github.com/final-form/react-final-form#formspyprops