最近写的项目老跟Ant Design里的Form表单打交道,刚开始会遇到各种各样的问题,写着写着这些问题也就慢慢解决了,在这里做一下总结
当一个页面需要两个表单传递数据时,怎样拿到两个表单里的内容然后通过一个接口一次传递给后台?
下面来解决问题
可以给每一个表单增加一个提交按钮,点击提交会触发表单的onFinish属性对应的函数
const submit=(value)=>{
console.log(value);
};
return (
<Form onFinish={submit}>
<Form.Item label="Username" name="username">
<Input />
</Form.Item>
<Form.Item label="Date" name="date">
<DatePicker />
</Form.Item>
<Form.Item>
<Button type="primary" htmlType="submit">
点击提交
</Button>
</Form.Item>
</Form>
);
};
在表单里面填入数据之后,点击提交按钮,让我们来看看会打印出什么?
打印的就是Username和Date的值
在这里注意,要想拿到填入的值,就必须给每个<Form.item>
加上name属性,因为name就像id一样,是唯一的!
由此可见,表单的onFinish属性就是为了给提交按钮设置的,在这里就不用给提交按钮绑定点击事件了