471 AccountSwitcher
账户切换。
用途
显示当前账户,菜单中切换已登录账户或添加账户。
最小示例
current := "a"
accounts := []account.Account{{ID: "a", Name: "Sakiko Togawa", Email: "sakiko@court"}, {ID: "b", Name: "Oblivionis"}}
view := func(c *ui.Context) {
core.Use(c, core.Settings{})
if account.AccountSwitcher(c, ¤t, accounts, account.AccountSwitcherOptions{}).Add() {
fmt.Println("sign in another account")
}
}
ui.Render(view, 400, 300, 1)参数
| 字段 | 类型 | 默认值 | 含义 |
|---|---|---|---|
current | *string | 必填 | 当前账户 ID,须在列表中。 |
accounts | []Account | 必填 | ID、Name 必填;Email、Avatar 可选。 |
Disabled | bool | false | 禁用。 |
状态
关闭、展开、当前账户勾选、禁用。
事件
Changed() 切换;Add() 请求添加账户。
键盘操作
Enter/Space/↓ 打开菜单,方向键移动,Enter 选择,Escape 关闭。
限制
大集合使用虚拟列表,仅构建当前可见行。
- 菜单项只显示文字,头像只在按钮上。

