# Dialog 对话框
### 介绍
模态对话框,在浮层中显示,引导用户进行相关操作,常用于消息提示、消息确认,或在当前页面内完成特定的交互操作。
### 安装
```javascript
import { createApp } from 'vue';
import { Dialog,Popup,OverLay } from '@nutui/nutui-taro';
const app = createApp();
app.use(Dialog).use(Popup).use(OverLay)
```
## 使用方式
```html
```
``` javascript
import { ref } from 'vue';
export default {
setup() {
const visible1 = ref(false);
const visible2 = ref(false);
const visible3 = ref(false);
const visible4 = ref(false);
const visible5 = ref(false);
const closeContent = ref('');
const sleep = () => new Promise((resolve) => setTimeout(resolve, 1000));
const countDown = (second: number) => `倒计时 ${second} 秒`;
const onCancel = () => {
console.log('event cancel');
};
const onOk = () => {
console.log('event ok');
};
const onOkAsync = () => {
sleep()
.then(() => {
closeContent.value = countDown(2);
return sleep();
})
.then(() => {
closeContent.value = countDown(1);
return sleep();
})
.then(() => {
closeContent.value = countDown(0);
})
.then(() => {
visible4.value = false;
});
};
const baseClick = (): void => {
visible1.value = true;
};
const noTitleClick = () => {
visible2.value = true;
};
const tipsClick = () => {
visible3.value = true;
};
const componentClick = () => {
closeContent.value = `点击确定时3s后关闭`;
visible4.value = true;
};
const verticalClick = () => {
visible5.value = true;
};
return {
visible1,
visible2,
visible3,
visible4,
visible5,
onCancel,
onOk,
closeContent,
onOkAsync,
baseClick,
noTitleClick,
componentClick,
tipsClick,
verticalClick
};
}
};
```
## 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 | 自定义底部按钮区域 |