# Dialog 对话框
### 介绍
模态对话框,在浮层中显示,引导用户进行相关操作,常用于消息提示、消息确认,或在当前页面内完成特定的交互操作。
弹出框组件支持函数调用和组件调用两种方式。
### 安装
```javascript
import { createApp } from 'vue';
import { Dialog,Popup,OverLay } from '@nutui/nutui';
const app = createApp();
app.use(Dialog).use(Popup).use(OverLay)
```
## 函数调用
``` javascript
Dialog({
title: '基础弹框',
content: '支持函数调用和组件调用两种方式。'
});
Dialog({
content: '无标题弹框'
});
Dialog({
title: '提示弹框',
content: '支持函数调用和组件调用两种方式。',
noCancelBtn: true,
});
Dialog({
title: '温馨提示',
content: '支持底部按钮纵向排列。',
footerDirection:"vertical"
});
```
## teleport 使用,挂载到指定节点
``` html
```
``` javascript
Dialog({
teleport: '#app',
...
});
Dialog({
teleport: '.demo',
...
});
```
## 函数调用 proxy.&dialog(...)
``` javascript
import { getCurrentInstance } from 'vue';
setup(){
const { proxy } = getCurrentInstance();
proxy.$dialog({
title: '基础弹框',
content: '支持函数调用和组件调用两种方式。'
});
}
```
## 标签式组件使用
```html
```
``` javascript
import { ref } from 'vue';
import { Dialog } from '@nutui/nutui';
export default {
setup() {
const visible = ref(true);
const visible1 = ref(true);
const componentClick = () => {
visible.value = true;
};
const componentvVrticalClick = () => {
visible1.value = true;
};
return { visible,visible1,componentClick,componentvVrticalClick };
},
};
```
## API
| 字段 | 说明 | 类型 | 默认值 |
|---------------------|---------------------------------------|----------|----------|
| title | 标题 | String | - |
| content | 内容,支持HTML | String | - |
| teleport | 指定挂载节点 | String | "body" |
| closeOnClickOverlay | 点击蒙层是否关闭对话框 | Boolean | false |
| noFooter | 是否隐藏底部按钮栏 | Boolean | false |
| noOkBtn | 是否隐藏确定按钮 | Boolean | false |
| noCancelBtn | 是否隐藏取消按钮 | Boolean | false |
| cancelText | 取消按钮文案 | String | ”取消“ |
| okText | 确定按钮文案 | String | ”确定“ |
| okBtnDisabled | 禁用确定按钮 | Boolean | false |
| cancelAutoClose | 取消按钮是否默认关闭弹窗 | Boolean | true |
| textAlign | 文字对齐方向,可选值同css的text-align | String | "center" |
| closeOnPopstate | 是否在页面回退时自动关闭 | Boolean | false |
| onUpdate | 更新 | Boolean | false |
| onOk | 确定按钮回调 | Function | - |
| onCancel | 取消按钮回调 | Function | - |
| onOpen | 背景是否锁定 | Function | - |
| onClosed | 关闭回调,任何情况关闭弹窗都会触发 | Function | - |
## Props
| 字段 | 说明 | 类型 | 默认值 |
|------------------------|------------------------------------------|---------|------------|
| title | 标题 | String | - |
| content | 内容,支持HTML | String | - |
| teleport | 指定挂载节点 | String | "body" |
| close-on-click-overlay | 点击蒙层是否关闭对话框 | Boolean | false |
| no-footer | 是否隐藏底部按钮栏 | Boolean | false |
| no-ok-btn | 是否隐藏确定按钮 | Boolean | false |
| no-cancel-btn | 是否隐藏取消按钮 | Boolean | false |
| cancel-text | 取消按钮文案 | String | ”取消“ |
| ok-text | 确定按钮文案 | String | ”确 定“ |
| ok-btn-disabled | 禁用确定按钮 | Boolean | false |
| cancel-auto-close | 取消按钮是否默认关闭弹窗 | Boolean | true |
| text-align | 文字对齐方向,可选值同css的text-align | String | "center" |
| close-on-popstate | 是否在页面回退时自动关闭 | Boolean | false |
| lock-scroll | 背景是否锁定 | Boolean | false |
| footer-direction | 使用横纵方向 可选值 horizontal、vertical | string | horizontal |
## Events
| 字段 | 说明 | 类型 | 默认值 |
|--------|------------------------------------|----------|--------|
| ok | 确定按钮回调 | Function | - |
| cancel | 取消按钮回调 | Function | - |
| closed | 关闭回调,任何情况关闭弹窗都会触发 | Function | - |
## Slots
| 名称 | 说明 |
|---------|--------------------|
| header | 自定义标题区域 |
| default | 自定义内容 |
| footer | 自定义底部按钮区域 |