Files
MujicaUI/docs/components/405-member-list.md
T

43 lines
1.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.
# 405 MemberList 成员列表
## 用途
将成员分成在线、离线两组,展示头像、状态、角色并提供选择与打开事件。
## 最小示例
```go
var s messaging.MemberListState
members := []messaging.Member{
{ID: "1", Name: "Sakiko", Presence: messaging.PresenceOnline, Role: "Leader"},
{ID: "2", Name: "Umiri", Presence: messaging.PresenceOffline},
}
view := func(c *ui.Context) {
core.Use(c, core.Settings{})
if r := messaging.MemberList(c, &s, members, messaging.MemberListOptions{}); r.Opened != "" {
_ = r.Opened // show that member's profile
}
}
ui.Render(view, 400, 300, 1)
```
## 参数
`MemberListState` 保存 `Selected` 和滚动位置;`members []Member` 的 ID 唯一、姓名必填。`Image`、`Presence`、`Role` 控制展示。`Height` 默认 360 DIP;`Disabled` 默认 false。修改在线分组时替换成员切片,缓存仅在切片变化时重建。
## 状态
默认、聚焦和悬停状态沿用主题、密度与文字缩放;适用操作在自身或祖先禁用时停止处理。
## 事件
`Changed()` 表示选中成员变化;`Opened` 返回 Enter 或双击打开的成员 ID。
## 键盘操作
Tab 聚焦列表;上下方向键选择;Home / End 首尾;Enter 或双击打开成员。
## 限制
分组缓存依据切片身份与长度;成员数据变化后替换切片。