Files
MujicaUI/docs/components/209-image-grid.md
T

41 lines
1.3 KiB
Markdown

# 209 ImageGrid 图片网格
## 用途
在消息中排列 1 至 9 张图片:1 张大图,2 与 4 张两列,其余三列。点击已加载的图片打开 ImageViewer;加载中与失败状态复用 Image 组件,失败时可重试。
## 最小示例
```go
if i, ok := mujica.ImageGrid(c, []mujica.GridImage{{Source: pic, Alt: "Portrait"}}).Retried(); ok {
fmt.Println("reload", i)
}
```
签名:`func ImageGrid(c *ui.Context, images []GridImage) ImageGridResult`
## 参数
| 字段 | 类型 | 默认值 | 含义 |
| --- | --- | --- | --- |
| `images` | `[]GridImage` | 必填 | 1 至 9 张,否则 panic。 |
| `Source` | `ui.ImageSource` | nil | 已加载的位图或 SVG。 |
| `Alt` | `string` | "" | 替代说明,也是按钮名称与查看器标题。 |
| `Loading / Err` | `bool / error` | false / nil | 调用方的加载中与失败状态。 |
## 状态
已加载、加载中(菱形加载标记)、失败(重试按钮);只有已加载的图片可点击。
## 事件
`Retried()` 返回本帧点击了重试的图片下标。查看器在组件内部打开与关闭。
## 键盘操作
Tab 聚焦图片,Enter 或 Space 打开查看器;查看器内的键盘操作见 ImageViewer。
## 限制
- 查看器只包含已加载的图片,序号按已加载图片计算。