低版本的antd提交表单时,会刷新页面
antd 版本3.15.1
在提交表单时,会刷新页面(看代码如下),怎么处理
class myComp extends Component{
handleSubmit = (e) => {
console.log(e)
}
render () {
return (<Form onSubmit={handleSubmit}>
<Form.item name="abc">
<Input />
</Form.item>
<Button htmlType="submit">提交</Button>
</Form>)
}
}
const WrappedMyComp = Form.create({ name: 'my-form' })(myComp);
export default WrappedMyComp
解决办法
handleSubmit = (e) => {
e.preventDefault(); // 阻止默认事件
this.props.form.validateFields((err, values) => {
if (!err) {
console.log('Received values of form: ', values);
}
})
注意,上用到的
this.props.form
需要使用Form.create
把该组件包裹一层,方可获取该form
对象,
高版本的antd 4.x
,默认就是阻止提交表单的,且绑定很方便,直接在<Form.Item>
中,指定name
属性即可