官方文档: https://4x-ant-design.antgroup.com/components/modal-cn
This example demonstrates how to use the Modal component in Ant Design React.
import React, { useState } from 'react';
import { Modal, Button } from 'antd';
function App() {
const [isModalOpen, setIsModalOpen] = useState(false);
const showModal = () => {
setIsModalOpen(true);
};
const handleOk = () => {
setIsModalOpen(false);
};
const handleCancel = () => {
setIsModalOpen(false);
};
return (
<>
<Button type="primary" onClick={showModal}>
Open Modal
</Button>
<Modal
title="Basic Modal"
open={isModalOpen}
onOk={handleOk}
onCancel={handleCancel}
>
<p>Some contents...</p>
</Modal>
</>
);
}
import React, { useState } from 'react';
import { Modal, Form, Input } from 'antd';
function App() {
const [isModalOpen, setIsModalOpen] = useState(false);
const [form] = Form.useForm();
const showModal = () => {
setIsModalOpen(true);
};
const handleOk = () => {
form.validateFields().then((values) => {
console.log('Form values:', values);
setIsModalOpen(false);
form.resetFields();
});
};
const handleCancel = () => {
setIsModalOpen(false);
form.resetFields();
};
return (
<>
<Button type="primary" onClick={showModal}>
Open Modal
</Button>
<Modal
title="Form Modal"
open={isModalOpen}
onOk={handleOk}
onCancel={handleCancel}
>
<Form form={form} layout="vertical">
<Form.Item name="name" label="Name" rules={[{ required: true }]}>
<Input />
</Form.Item>
</Form>
</Modal>
</>
);
}
import React from 'react';
import { Modal, Button } from 'antd';
function App() {
const showConfirm = () => {
Modal.confirm({
title: 'Confirm',
content: 'Are you sure you want to delete this item?',
onOk() {
console.log('OK');
},
onCancel() {
console.log('Cancel');
},
});
};
return <Button onClick={showConfirm}>Show Confirm</Button>;
}
import React from 'react';
import { Modal, Button, Space } from 'antd';
function App() {
const showInfo = () => {
Modal.info({
title: 'Info',
content: 'This is an info message',
});
};
const showSuccess = () => {
Modal.success({
title: 'Success',
content: 'Operation successful',
});
};
const showError = () => {
Modal.error({
title: 'Error',
content: 'Operation failed',
});
};
const showWarning = () => {
Modal.warning({
title: 'Warning',
content: 'This is a warning message',
});
};
return (
<Space>
<Button onClick={showInfo}>Info</Button>
<Button onClick={showSuccess}>Success</Button>
<Button onClick={showError}>Error</Button>
<Button onClick={showWarning}>Warning</Button>
</Space>
);
}
open prop to control modal visibilityonOk and onCancel for button handlerstitle prop for modal titleModal.confirm(), Modal.info(), etc. for static methodsForm inside Modal for form modalsfooter prop to customize footerwidth prop to set modal width