# Popup 弹出层
### 介绍
弹出层容器,用于展示弹窗、信息提示等内容,支持多个弹出层叠加展示
### 安装
```javascript
import { createApp } from 'vue';
//vue
import { Popup,OverLay } from '@nutui/nutui';
//taro
import { Popup,OverLay } from '@nutui/nutui-taro';
const app = createApp();
app.use(Popup).use(OverLay)
```
## 代码演示
### 基础用法
`visible` 控制显示/隐藏
```html
正文
```
### 弹出位置
```html
```
### 图标
```html
```
### 圆角弹框
```html
```
### 指定挂载节点
```html
app
```
## API
### Props
| 参数 | 说明 | 类型 | 默认值 |
|------------------------|-------------------------------------------------------------|----------------|---------------|
| v-model:visible | 当前组件是否显示 | Boolean | `false` |
| z-index | 遮罩层级 | String、Number | `2000` |
| duration | 动画时长,单位秒 | String、Number | `0.3` |
| overlay-class | 自定义遮罩类名 | String | - |
| overlay-style | 自定义遮罩样式 | CSSProperties | - |
| lock-scroll | 背景是否锁定 | Boolean | `true` |
| overlay | 是否显示遮罩 | Boolean | `true` |
| close-on-click-overlay | 是否点击遮罩关闭 | Boolean | `true` |
| position | 弹出位置(top,bottom,left,right,center) | String | `"center"` |
| transition | 动画名 | String | - |
| style | 自定义弹框样式 | CSSProperties | - |
| pop-class | 自定义弹框类名 | String | - |
| closeable | 是否显示关闭按钮 | Boolean | `false` |
| close-icon-position | 关闭按钮位置(top-left,top-right,bottom-left,bottom-right) | String | `"top-right"` |
| close-icon | 自定义 Icon | String | `"close"` |
| destroy-on-close | 组件销毁后是否关闭 | Boolean | `true` |
| round | 是否显示圆角 | Boolean | `false` |
| teleport | 指定挂载节点(`小程序不支持`) | String | `"body"` |
### Events
| 事件名 | 说明 | 回调参数 |
|------------------|------------------------|----------------|
| click | 点击弹框时触发 | `event: Event` |
| click-close-icon | 点击关闭图标时触发 | `event: Event` |
| open | 打开弹框时触发 | - |
| close | 关闭弹框时触发 | - |
| opend | 遮罩打开动画结束时触发 | `event: Event` |
| closed | 遮罩关闭动画结束时触发 | `event: Event` |
| click-overlay | 点击遮罩触发 | `event: Event` |