低版本的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
屬性即可