237 CitationBadge 引用编号
用途
行内引用编号;悬停预览来源;点击定位来源。
最小示例
var cites chat.CitationState
src := chat.Source{Title: "The Palace of Versailles", URL: "https://example.com/versailles"}
view := func(c *ui.Context) {
core.Use(c, core.Settings{})
if chat.CitationBadge(c, 1, src, &cites).Changed() {
fmt.Println("show source", cites.Active)
}
}
ui.Render(view, 400, 300, 1)参数
n 为从 1 开始的引用编号;src.Title、src.URL 必填;st 为与来源卡片共享的 CitationState;Active=0 表示尚未选中。
状态
默认、悬停、键盘焦点与祖先禁用;业务状态由调用方提供。
事件
每次点击或键盘激活触发 ChoiceResult.Changed() 并定位来源;重复激活同一引用也会重新定位。
键盘操作
Tab 到引用;Enter、Space 定位;悬停或键盘焦点 500 毫秒后预览;Escape 关闭预览。
限制
编号按调用方引用顺序映射;预览内容来自调用方。

