antd v3.x版本-提交表单时阻止刷新页面

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章