antd - 我们如何在 Form.create 中使用 OnSubmit 事件
问题描述
谁能建议我如何以这种形式使用 onSubmit 事件?
<Form onSubmit={this.handleSubmit}>
解决方案
值得注意的是onFieldsChange
,onValuesChange
是选项hoc
:Form.create({onFieldsChange, onValuesChange})
,当onSubmit
应该直接应用到<Form onSubmit={...}>
。没有onSubmit
可用的 hoc 选项。
您可以做的是 -onSubmit
在中定义处理程序<Form>
,并调用通过道具传递的父处理程序。这是一个仅在情况下调用父处理程序的success
示例,但是您可以轻松地将其更改为在任何情况下调用它:
const CustomizedForm = Form.create({
onFieldsChange(props, changedFields) {
// ... and other stuff
},
})((props) => {
const { getFieldDecorator, validateFields } = props.form;
// this will be called on every submit
const onSubmit = (e) => {
e.preventDefault();
validateFields((err, values) => {
console.log('Received values of form: ', values);
if (!err) {
props.onSubmit(values); // call the parent submit
}
});
}
return (
<Form layout="inline" onSubmit={onSubmit}>
// ... form content
</Form>
);
});
class Demo extends React.Component {
// ... other stuff
// define handler
handleFormSubmitSuccess = (values) => {
console.log('values are ok', values)
}
render() {
const fields = this.state.fields;
return (
<div>
<CustomizedForm
{...fields}
onChange={this.handleFormChange}
onSubmit={this.handleFormSubmitSuccess} />
</div>
);
}
}
ReactDOM.render(<Demo />, mountNode);
推荐阅读
- r - 使用 lapply 或 apply 或 mapply 函数动态合并数据框的列名和值
- javascript - 检查 API 调用查询参数是否有 !== 空值
- flutter - Flutter 在自定义对话框之间导航和发送数据
- android - Navigation Jetpack 上的深层链接
- javascript - 当 processData 为 true 时,像 jQuery 在 Ajax 请求中一样处理 JS Fetch Api 请求的输入数据
- c++ - 通过引用传递参数时模板的显式实例化
- aws-step-functions - 在 SAM 模板中定义的本地运行 Step Function
- python-3.x - 在时间序列线性回归中获取第二天的预测值
- javascript - 如何更新第二个轴的数据 plotly javascript?
- python - ValueError:发现样本数量不一致的输入变量:[6, 1]