# AiModal AI 模态框
可配置、可拖拽的模态对话框,基于 Naive UI `n-modal` + `n-card` 构建。
## 使用方式
```vue
模态框内容
打开
```
## Props(默认值可通过 `open()` 覆盖)
| 属性 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| `width` | String | `'520px'` | 模态框宽度 |
| `title` | String | - | 标题 |
| `closable` | Boolean | `true` | 显示关闭按钮 |
| `maskClosable` | Boolean | `false` | 点击遮罩关闭 |
| `draggable` | Boolean | `true` | 是否可拖拽 |
| `cancelText` | String | `'取消'` | 取消按钮文字 |
| `okText` | String | `'确定'` | 确认按钮文字 |
| `showFooter` | Boolean | `true` | 显示底部按钮区 |
| `showCancel` | Boolean | `true` | 显示取消按钮 |
| `showOk` | Boolean | `true` | 显示确认按钮 |
| `cancelType` | String | `'default'` | 取消按钮类型 |
| `okType` | String | `'primary'` | 确认按钮类型 |
| `cancelGhost` | Boolean | `false` | 取消按钮幽灵模式 |
| `okGhost` | Boolean | `false` | 确认按钮幽灵模式 |
| `modalStyle` | Object | - | 模态框自定义样式 |
| `contentStyle` | Object | - | 内容区自定义样式 |
| `segmented` | Boolean/Object | - | 分段样式 |
| `showHeader` | Boolean | `true` | 显示头部 |
| `showHeaderExtra` | Boolean | `true` | 显示头部额外操作区 |
| `onOk` | Function | - | 确认回调(可返回 Promise / boolean) |
| `onCancel` | Function | - | 取消回调 |
| `onClose` | Function | - | 关闭回调 |
## 暴露方法
| 方法 | 说明 |
|------|------|
| `open(options)` | 打开模态框,传入配置选项 |
| `close()` | 关闭模态框 |
| `handleOk()` | 触发确认逻辑 |
| `handleCancel()` | 触发取消逻辑 |
## 暴露属性
| 属性 | 类型 | 说明 |
|------|------|------|
| `show` | Ref\ | 当前显示状态 |
| `okLoading` | Ref\ | 确认按钮 loading 状态 |
| `options` | Object | 当前配置选项 |
## 依赖
- `naive-ui`
- `./utils.js`(拖拽初始化)