MujicaUI

Projects · #372

AssigneePicker 浅色主题渲染快照
浅色 · 渲染快照
AssigneePicker 深色主题渲染快照
深色 · 渲染快照

372 AssigneePicker · 负责人选择

用途

负责人选择用于项目管理界面。

最小示例

members := []project.ProjectMember{{ID: "ann", Name: "Ann"}, {ID: "ben", Name: "Ben"}}
ids := []string{"ann"}
view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	if project.AssigneePicker(c, &ids, members, project.AssigneePickerOptions{Max: 2}).Changed() {
		log.Println("assignees", ids)
	}
}
ui.Render(view, 1000, 700, 1)

参数

ids *[]string、members []ProjectMember;Max=0 表示自由数量;Disabled、Label 控制交互与名称;Version 用于外部原地修改。

状态

业务状态由调用方持有;主题、密度与文本缩放遵循窗口设置。交互控件提供焦点、悬停和禁用状态;展示组件保留语义名称。

事件

Changed() 表示受控成员 ID 列表更改。

键盘操作

Enter/Space 打开;输入搜索;下键进入选项;Space/Enter 勾选;Backspace 移除最后一项;Escape 关闭。

限制

成员 ID 唯一且非空;所有已选 ID 必须存在。头像使用姓名回退;网络成员查询由调用方提供。搜索结果按可见行虚拟化。