Sources

把 AI 回答所依据的参考来源(网页 / 论文 / 文档 / 新闻 / 代码库 / 数据集 等)渲染成带序号、站点图标、域名 / 作者 / 时间元信息与可选摘录的引用列表,常用于承载 RAG 检索问答的出处。Variant 支持整行列表与紧凑标签两态;据 Type 自动配色配图标,可 Favicon / Icon / Color 逐项覆盖;点来源经 OnSelect 回传、点标题在有 Url 时新窗口打开(rel 采用 noopener)。纯展示、无 JS 互操作;来源标题 / 网址 / 域名 / 摘录视为业务数据不本地化,仅内置标题与空态文案走词条。

最后更新

说明

面向“AI 检索问答 / 生成内容溯源 / 参考文献与出处展示”的引用列表组件,把一组 SourceRef(Title 必填,Url 可选链接,Domain / Author / Date 拼成一行元信息,Snippet 摘录,Type 决定图标与配色,Icon / Color / Favicon 逐项覆盖,Index 引用序号)渲染成可读的引用清单。类型到“分类色 + 图标”有一套内置映射:网页走 globe、文档走 file-text、PDF 走 file-pdf、论文 / 学术走 book-open、新闻 / 博客走 align-left、代码库走 code、数据集走 table、数据库走 database、音视频走 music / film,未给 Type 时据是否有 Url 推断(有链接视为网页、无链接视为文档),也可用 Icon / Color 显式覆盖;给了 Favicon 则行首选站点图标替代类型徽标。列表按 ShowIndex(默认 true)显示序号——Index 大于 0 用它、否则按位置从 1 自动编号;标题在有 Url 时渲染成新窗口打开的链接(附 noopener 安全属性、点击不额外触发选中),无链接时为纯文本;ShowSnippet(默认 false)在标题下展开两行截断的摘录;ShowFavicon(默认 true)控制行首徽标。Variant 取 list(默认,整行卡片:序号 / 徽标 / 标题 / 元信息 / 摘录纵向成块)或 chips(紧凑胶囊标签,隐藏元信息与摘录、仅编号加标题,适合行内展示)。列表上方 Title(默认“参考来源”,作为翻译键)为标题并带来源条数徽标,留空则隐藏标题行。整行在 Selectable(默认 true)且挂了 OnSelect 时可点选、经回调回传该 SourceRef。空数据且有 EmptyText(默认“暂无来源”)时显示空态。配色 / 图标名 / 序号 / 分隔符均为内部呈现,来源标题 / 网址 / 域名 / 作者 / 时间 / 摘录视为业务数据、直接展示不本地化,仅 Title 与 EmptyText 两条内置文案走词条。纯展示、无 JS 互操作,常接在 Bubble 回答之后或知识库检索结果下方,与 Attachments / FileCard 分别为“输出出处”与“输入文件 / 陈列产物”的互补角色。Visible / Class / Style / UserAttributes 沿用 BaseComponent。

常见能力:

  • 把一组参考来源渲染成带序号、站点图标、元信息与可选摘录的引用列表,承载 RAG 问答出处
  • Type → 分类色 + 图标内置映射(网页 / 文档 / PDF / 论文 / 新闻 / 代码 / 数据集 / 数据库 / 音视频),未给则按有无链接推断,Icon / Color / Favicon 可覆盖
  • ShowIndex 序号(Index 大于 0 用之、否则按位置自动编号)、ShowSnippet 两行截断摘录、ShowFavicon 徽标开关
  • 有 Url 时标题为新窗口链接(附 noopener、点击不触发选中),域名 · 作者 · 时间拼成一行元信息
  • Variant list 整行卡片 / chips 紧凑胶囊两态;标题行带来源条数徽标、可隐藏
  • Selectable 下点来源经 OnSelect 回传;空态 EmptyText 与内置标题 Title 走词条,其余业务数据不本地化
  • 纯展示、无 JS 互操作,与 Bubble / 检索结果衔接、和 Attachments / FileCard 角色互补

用法

<Sources Items="@_src" Variant="list" ShowSnippet="true" OnSelect="Pick" />

@code {
    List<SourceRef> _src = new()
    {
        new("RAG 综述", "https://example.com/rag", "research") { Domain = "Wikipedia", Date = "2025-11", Snippet = "检索增强生成……" },
        new("白皮书", null, "pdf") { Domain = "内部文档" },
    };
    void Pick(SourceRef s) => UI.Info($"选择来源:{s.Title}");
}

API 参数

参数 类型 默认值 说明
EmptyText string "暂无来源" 空态文案(作为翻译键)。默认“暂无来源”,留空则不显示空态。
Items List<SourceRef> null 来源集合。
OnSelect EventCallback<SourceRef> — 事件 点击某条来源的回调(回传该 SourceRef)。
Selectable bool true 是否可点选来源(OnSelect 生效)。默认 true。
ShowFavicon bool true 是否显示行首的类型徽标 / 站点图标。默认 true。
ShowIndex bool true 是否显示引用序号。默认 true。
ShowSnippet bool false 是否显示每条来源的摘录 / 摘要。默认 false。
Title string "参考来源" 列表上方标题文案(作为翻译键)。默认“参考来源”,留空则不显示标题行。
Variant string "list" 外观形态:list(整行列表,默认)/ chips(紧凑标签)。
Visible bool true 取得或设置组件是否可见,默认为false。
VisibleChanged EventCallback<bool> — 事件 取得或设置组件可见性变化时的回调事件。
Class string null 取得或设置组件的CSS类名,用于自定义样式。
Disabled bool false 取得或设置组件是否禁用,默认为false。
Style string null 取得或设置组件的内联样式,用于自定义样式。

所有组件均继承 BaseComponent,除上表参数外还支持 Class、Style、Disabled、Visible。

微信公众号二维码 扫码关注公众号
QQ 交流群二维码 扫码加入 QQ 群