402 ChatMessage 聊天消息
用途
展示连续聊天消息、发送时间、编辑标记,以及调用方提供的回复和回应插槽。
最小示例
prev := messaging.ChatEntry{ID: "1", Author: "Uika", Time: time.Now(), Text: "Rehearsal at nine."}
m := messaging.ChatEntry{ID: "2", Author: "Uika", Time: time.Now(), Text: "Bring the masks.", Edited: true}
view := func(c *ui.Context) {
core.Use(c, core.Settings{})
messaging.ChatMessage(c, prev, messaging.ChatMessageOptions{})
messaging.ChatMessage(c, m, messaging.ChatMessageOptions{
Continued: messaging.ChatContinues(prev, m),
Reactions: func() { display.Tag(c, "👍 2", display.TagOptions{}) },
})
}
ui.Render(view, 400, 300, 1)参数
ChatEntry 包含 ID、必填的 Author、Image、Time、Text、Edited、Own。ChatMessageOptions.Continued 默认 false;Reply 与 Reactions 为可选插槽。ChatContinues(prev, cur) 要求同一作者、相同 Own、间隔非负且小于五分钟。
状态
状态由调用方数据控制;浅深主题、密度与文字缩放随窗口设置变化。适用插槽操作沿用控件焦点和禁用状态。
事件
插槽中的按钮、链接和回应事件由调用方处理。
键盘操作
可选文字支持选择复制;插槽控件按 Tab 访问。
限制
调用方计算 Continued 或使用 ChatContinues;回复与回应的业务逻辑在插槽中实现。

