使用React和Antd封装一个表单组件。
时间: 2024-04-13 10:30:45 浏览: 135
当然可以!以下是一个使用React和Antd封装的表单组件的示例:
```jsx
import React from 'react';
import { Form, Input, Button } from 'antd';
const CustomForm = ({ onSubmit }) => {
const onFinish = (values) => {
onSubmit(values);
};
return (
<Form onFinish={onFinish}>
<Form.Item
label="Name"
name="name"
rules={[{ required: true, message: 'Please input your name!' }]}
>
<Input />
</Form.Item>
<Form.Item
label="Email"
name="email"
rules={[
{ required: true, message: 'Please input your email!' },
{ type: 'email', message: 'Please enter a valid email!' },
]}
>
<Input />
</Form.Item>
<Form.Item>
<Button type="primary" htmlType="submit">
Submit
</Button>
</Form.Item>
</Form>
);
};
export default CustomForm;
```
在上面的代码中,我们使用了Antd的`Form`、`Input`和`Button`组件来构建表单。通过`onFinish`方法,在提交表单时将表单数据传递给父组件。
父组件可以这样使用`CustomForm`:
```jsx
import React from 'react';
import CustomForm from './CustomForm';
const App = () => {
const handleSubmit = (values) => {
// 处理表单提交的数据
console.log(values);
};
return (
<div>
<h1>Custom Form Example</h1>
<CustomForm onSubmit={handleSubmit} />
</div>
);
};
export default App;
```
在父组件中,我们通过传递`handleSubmit`方法给`CustomForm`组件来处理表单提交的数据。
阅读全文