--- order: 14 title: zh-CN: 弹出层中的新建表单 en-US: Form in Modal to Create --- ## zh-CN 当用户访问一个展示了某个列表的页面,想新建一项但又不想跳转页面时,可以用 Modal 弹出一个表单,用户填写必要信息后创建新的项。 > 🛎️ 想要 3 分钟实现?试试 ProFrom 的 [Modal 表单](https://procomponents.ant.design/components/form#modal-%E8%A1%A8%E5%8D%95)! ## en-US When user visit a page with a list of items, and want to create a new item. The page can popup a form in Modal, then let user fill in the form to create an item. ```tsx import React, { useState } from 'react'; import { Button, Modal, Form, Input, Radio } from 'antd'; interface Values { title: string; description: string; modifier: string; } interface CollectionCreateFormProps { visible: boolean; onCreate: (values: Values) => void; onCancel: () => void; } const CollectionCreateForm: React.FC = ({ visible, onCreate, onCancel, }) => { const [form] = Form.useForm(); return ( { form .validateFields() .then(values => { form.resetFields(); onCreate(values); }) .catch(info => { console.log('Validate Failed:', info); }); }} >
Public Private
); }; const CollectionsPage = () => { const [visible, setVisible] = useState(false); const onCreate = (values: any) => { console.log('Received values of form: ', values); setVisible(false); }; return (
{ setVisible(false); }} />
); }; ReactDOM.render(, mountNode); ``` ```css .collection-create-form_last-form-item { margin-bottom: 0; } ```