MujicaUI

Messaging & Mail · #418

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

418 RecipientInput 收件人输入

用途

通过标签输入收件人,校验邮箱格式并提供联系人建议。

最小示例

var to []string
contacts := []messaging.Contact{{Name: "Uika Misumi", Email: "uika@example.com"}}
view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	messaging.RecipientInput(c, &to, messaging.RecipientInputOptions{Contacts: contacts, Label: "To"})
}
ui.Render(view, 400, 300, 1)

参数

recipients *[]string 保存邮箱标签。Contacts []Contact 提供 Name、Email;联系人数据变化时替换切片。Label 默认“收件人”;Placeholder 默认空;Disabled 默认 false。

状态

默认、聚焦和悬停状态沿用主题、密度与文字缩放;适用操作在自身或祖先禁用时停止处理。

事件

返回 TagsInputParts;Changed() 表示标签变化,Input 可用于焦点控制。

键盘操作

Enter 或分隔符提交标签;空输入 Backspace 删除末项;上下方向键移动联系人建议,Enter 选择,Escape 收起建议;Tab 可聚焦建议并显示焦点环。

限制

联系人姓名中的逗号和引号按邮件地址语法转义。建议最多显示 6 项;联系人匹配在查询或联系人、收件人数据变化时计算;业务邮箱可达性由调用方验证。