41 lines
1.3 KiB
Markdown
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。
|
|
|
|
## 限制
|
|
|
|
- 查看器只包含已加载的图片,序号按已加载图片计算。
|