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 项;联系人匹配在查询或联系人、收件人数据变化时计算;业务邮箱可达性由调用方验证。

