bricks/docs/ai/popup.md
2025-11-18 16:01:43 +08:00

69 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Popup
**控件功能**:弹出层控件,用于在页面上显示模态或非模态的浮动窗口,支持自动打开/关闭、点击外部关闭、拖拽移动、调整大小、定时关闭等功能。
**类型**:容器控件
**父类控件**`bricks.VBox`
## 初始化参数
| 参数名 | 类型 | 默认值 | 说明 |
|--------|------|--------|------|
| `timeout` | number | `0` | 自动关闭延迟时间毫秒0 表示不自动关闭 |
| `archor` | string | `'cc'` | 弹窗定位锚点,取值为 `tl`, `tc`, `tr`, `cl`, `cc`, `cr`, `bl`, `bc`, `br` 中的一种,表示相对于屏幕的位置 |
| `widget` | string / Widget / null | `null` | 关联的目标控件ID 或对象),用于定位或禁用 |
| `auto_open` | boolean | `true` | 是否在创建后自动打开弹窗 |
| `auto_dismiss` | boolean | `true` | 是否点击弹窗外区域时自动关闭 |
| `auto_destroy` | boolean | `true` | 关闭后是否自动销毁控件 |
| `movable` | boolean | `true` | 是否允许拖拽移动 |
| `resizable` | boolean | `false` | 是否允许调整大小 |
| `modal` | boolean | `true` | 是否为模态窗口(遮罩并禁用目标控件) |
| `content` | object | `undefined` | 弹窗内容配置对象,将在打开时异步加载 |
| `dismiss_events` | array | `undefined` | 指定事件名称数组,触发时自动关闭弹窗 |
> 注:移动端下默认宽高为 `100%`,桌面端为 `70%`。
## 主要事件
| 事件名 | 触发时机 | 说明 |
|--------|----------|------|
| `opened` | 弹窗显示并完成布局后触发 | 通常用于加载动态内容 |
| `dismissed` | 弹窗隐藏时触发 | 可用于清理资源 |
| `destroy` | 控件被销毁时触发 | 仅当 `auto_destroy` 为 true 时触发 |
---
# PopupWindow
**控件功能**:可拖动、可缩放、带标题栏的应用级窗口控件,常用于模拟桌面应用程序窗口,支持最小化、全屏、关闭等操作。
**类型**:容器控件
**父类控件**`bricks.Popup`
## 初始化参数
| 参数名 | 类型 | 默认值 | 说明 |
|--------|------|--------|------|
| `title` | string | `"[Untitle window]"` | 窗口标题文本 |
| `icon` | string | 内置图标路径 | 窗口左上角显示的图标 URL |
| `rate` | number | `1.5` | 图标缩放比率 |
| `auto_open` | boolean | `true` | 创建后是否自动打开窗口 |
| 其他参数 | —— | 继承自 `Popup` | 包括 `width`, `height`, `modal`, `movable`, `resizable` 等,均继承并默认启用可移动和可调整大小 |
> 注意:`PopupWindow` 强制设置 `movable=true`, `resizable=true`,且默认 `auto_dismiss=false`, `auto_destroy=false`。
## 主要事件
| 事件名 | 触发时机 | 说明 |
|--------|----------|------|
| `opened` | 窗口打开并渲染完成后触发 | 继承自 `Popup` |
| `dismissed` | 窗口关闭(最小化也视为 dismiss时触发 | 可用于状态同步 |
| `destroy` | 调用 `destroy()` 方法或点击关闭按钮时触发 | 实际销毁前执行清理逻辑 |
### 内置工具栏事件绑定
- `delete`:点击关闭按钮时触发,调用 `destroy()` 销毁窗口。
- `minimize`:点击最小化按钮时触发,调用 `win_minimize()` 隐藏窗口并加入 `app.mwins` 列表。
- `fullscreen`:点击全屏按钮时触发,进入全屏模式。
> 最小化的窗口可通过 `WindowsPanel` 重新打开。