2016-08-11 11:41:06 +08:00
---
2016-11-09 14:43:32 +08:00
type: Feedback
2016-08-11 11:41:06 +08:00
category: Components
2016-09-21 11:28:38 +08:00
title: Modal
2016-08-11 11:41:06 +08:00
---
Modal dialogs.
2016-09-10 13:43:30 +08:00
## When To Use
2016-08-11 11:41:06 +08:00
When requiring users to interact with application, but without jumping to a new page to interrupt
2016-09-01 18:12:12 +08:00
the user's workflow, you can use `Modal` to create a new floating layer over the current page for user
2016-08-11 11:41:06 +08:00
getting feedback or information purposes.
2016-09-01 18:12:12 +08:00
Additionally, if you need show a simple confirmation dialog, you can use `ant.Modal.confirm()` ,
2016-08-11 11:41:06 +08:00
and so on.
## API
| Property | Description | Type | Default |
|------------|----------------|------------------|--------------|
2017-01-20 20:10:50 +08:00
| visible | Determine whether a modal dialog is visible or not | boolean | no |
| confirmLoading | Determine whether to apply loading visual effect for OK button or not | boolean | no |
| title | The modal dialog's title | string\|ReactNode | no |
| closable | Determine whether a close (x) button is visible on top right of the modal dialog or not | boolean | true |
2016-08-11 11:41:06 +08:00
| onOk | Specify a function that will be called when a user clicked OK button | function | no |
| onCancel | Specify a function that will be called when a user clicked mask, close button on top right or cancel button | function(e) | no |
2017-01-20 20:10:50 +08:00
| width | Width of a modal dialog | string\|number | 520 |
2017-02-19 01:42:58 +08:00
| footer | Footer content, set as `footer={null}` when you don't need default buttons | string\|ReactNode | OK and cancel button |
2017-01-20 20:10:50 +08:00
| okText | Text of the OK button | string | OK |
| cancelText | Text of the Cancel button | string | Cancel |
| maskClosable | Determine whether to close the modal dialog when clicked mask of it. | boolean | true |
| style | Style of floating layer, typically used at least for adjusting the position. | object | - |
| wrapClassName | The class name of the container of the modal dialog | string | - |
2017-01-05 12:06:27 +08:00
| afterClose | Specify a function that will be called when modal is closed completely. | function | - |
2016-08-11 11:41:06 +08:00
2017-01-16 14:30:07 +08:00
#### Destroy on close
> The state of Modal will be preserved at it's component lifecircle.
> If you wish to open it with brand new state everytime, you need to reset state manually. Or simply [give a new random key](https://github.com/ant-design/ant-design/issues/4165) to Modal when visible is changed to `true`, React will treat it as a new component.
> ```
> <Modal key={this.state.newRandomKey} visible={this.state.visible} />
> ```
2016-08-11 11:41:06 +08:00
### Modal.xxx()
There are five ways to display the information based on the content's nature:
- `Modal.info`
- `Modal.success`
- `Modal.error`
- `Modal.warning`
- `Modal.confirm`
2016-11-16 21:33:37 +08:00
The items listed above are all functions, expecting a settings object as parameter.
2016-09-01 18:12:12 +08:00
The properties of the object are follows:
2016-08-11 11:41:06 +08:00
| Property | Description | Type | Default |
|------------|----------------|------------------|---------------|
2017-01-20 20:10:50 +08:00
| title | Title | string\|ReactNode | no |
| content | Content | string\|ReactNode | no |
2016-08-11 11:41:06 +08:00
| onOk | Specify a function that will be called when a user clicked OK button. The parameter of this function is a function whose execution should include closing the dialog. You can also just return a promise and when the promise is resolved, the modal dialog will also be closed | function | no |
| onCancel | Specify a function that will be called when a user clicked Cancel button. The parameter of this function is a function whose execution should include closing the dialog. You can also just return a promise and when the promise is resolved, the modal dialog will also be closed | function | no |
2017-01-20 20:10:50 +08:00
| width | Width of dialog | string\|number | 416 |
| iconType | Type of Icon component | string | question-circle |
| okText | Text of OK button | string | OK |
| cancelText | Text of cancel button | string | Cancel |
2017-01-07 15:17:27 +08:00
| maskClosable | Determine whether to close the modal dialog when clicked mask of it. | Boolean | `false` |
2016-08-11 11:41:06 +08:00
< style >
.code-box-demo .ant-btn {
margin-right: 8px;
}
< / style >