WIP components (as built)
This commit is contained in:
116 files changed
+6484
-9
No files matched your search
@@ -0,0 +1,39 @@
|
||||
# 415 MailList 邮件列表
|
||||
|
||||
## 用途
|
||||
|
||||
展示虚拟化邮件列表,包含未读粗体、星标、附件计数、多选与打开事件。
|
||||
|
||||
## 最小示例
|
||||
|
||||
```go
|
||||
var s mujica.ListState[string]
|
||||
mails := []mujica.MailItem{{ID: "1", From: "Sakiko", Subject: "Second act", Unread: true, Attachments: 1}}
|
||||
view := func(c *ui.Context) {
|
||||
mujica.Use(c, mujica.Settings{})
|
||||
if r := mujica.MailList(c, &s, mails, mujica.MailListOptions{}); r.Starred != "" {
|
||||
mails[0].Starred = !mails[0].Starred
|
||||
}
|
||||
}
|
||||
ui.Render(view, 400, 300, 1)
|
||||
```
|
||||
|
||||
## 参数
|
||||
|
||||
`ListState[string]` 保存滚动与选择;`MailItem` 包含必填 ID、`From`、`Subject`、`Snippet`、`Time`、`Unread`、`Starred`、`Attachments`。`Height` 默认 420 DIP,必须 ≥ 0;`Disabled` 默认 false。
|
||||
|
||||
## 状态
|
||||
|
||||
默认、聚焦和悬停状态沿用主题、密度与文字缩放;适用操作在自身或祖先禁用时停止处理。
|
||||
|
||||
## 事件
|
||||
|
||||
`Changed()` 表示选择变化;`Opened` 返回打开的邮件 ID;`Starred` 返回请求切换星标的 ID。调用方更新数据。
|
||||
|
||||
## 键盘操作
|
||||
|
||||
上下方向键、Home / End 移动选择;Enter 或双击打开;S 请求星标;Cmd/Ctrl+A 全选;Cmd/Ctrl 点击切换单项,Shift 点击选择范围。
|
||||
|
||||
## 限制
|
||||
|
||||
星标、已读更新、邮件下载与打开由调用方处理;列表只构建可见行。
|
||||
Reference in new issue
Block a user