FileCard

以较大的配色缩略瓦片呈现一批文件:按扩展名 / MIME 自动选图标与主题色(图片 / 视频 / 音频 / PDF / Word / Excel / PPT / 压缩包 / 代码 / 文本 / 字体 / 安装包 / 数据库各有配色),右下角自动大写扩展名角标,图片可显示缩略图,下方标注文件名与大小。Size 三档、Variant 实心 / 描边、OnPreview 点击预览;纯展示、无 JS 互操作。

最后更新

说明

面向“附件列表 / 知识库 / 会话产出文件”的文件缩略卡片组件,把一个 FileCardItem(Name 必填,Size 字节数、Type 显式扩展名或 MIME、Icon / Color 覆盖、Thumb 图片缩略图地址)渲染成一张配色瓦片:未显式给 Type 时从 Name 最后一个点后的扩展名推断,MIME 取其 / 后段,再据此映射一整套内置分类色与图标(图片 image、视频 film、音频 music、PDF file-pdf、Word file-text、Excel table、PPT layers、压缩包 file-archive、代码 code、文本 file-text、字体 type、安装包 terminal、数据库 database,其余回退通用 file),Icon / Color 可逐项覆盖。瓦片右下角渲染自动大写的扩展名角标(ShowExtension 默认 true),ShowSize(默认 true)在名称下方显示格式化后的文件大小(B / KB / MB / GB / TB,Size ≤ 0 不显示)。图片项若给了 Thumb 则整块显示缩略图、否则显示配色徽标。整卡点击经 OnPreview 回传被点的 FileCardItem(组件本身不改状态、不读写文件流,预览动作交宿主)。Size 档位 large / default / small 控制瓦片宽度与缩略图高度,Variant 取 filled(实底徽标白图标,默认)或 plain(描边、彩色图标与角标),配色通过 CSS 自定义变量注入、随框架明暗主题自适应。文件名 / 类型 / 大小 / 扩展名角标视为业务数据、直接展示不本地化,仅 EmptyText 自定义空态走词条;Items 为空且有 EmptyText 时显示空态。作为 Attachments(会话输入待发送文件条)的展示侧搭档,常用于把模型生成或引用的多个文件以网格卡片陈列。

常见能力:

  • 按扩展名 / MIME 自动映射分类色与图标(图片 / 视频 / 音频 / PDF / Word / Excel / PPT / 压缩包 / 代码 / 文本 / 字体 / 安装包 / 数据库)
  • Icon / Color 可逐项覆盖;右下角自动大写扩展名角标(ShowExtension)
  • ShowSize 自动格式化大小(B/KB/MB/GB/TB),Size ≤ 0 不显示
  • 图片项给 Thumb 则整块显示缩略图,否则显示配色徽标
  • Size 三档 large / default / small;Variant filled 实底 / plain 描边
  • 整卡点击经 OnPreview 回传 FileCardItem,组件纯展示、不读写文件流
  • 配色走 CSS 变量随明暗主题自适应;文件名 / 类型 / 大小不本地化,仅空态走词条

用法

<FileCard Items="@files" Size="default" Variant="filled" OnPreview="Open" />

@code {
    List<FileCardItem> files = new()
    {
        new("需求说明书.pdf", 2_400_000, "application/pdf"),
        new("销售明细.xlsx", 812_000, "xlsx"),
        new("架构图.png", 486_000, "image/png") { Thumb = "/img/diagram.png" },
        new("源码快照.zip", 18_400_000, "zip"),
    };
    void Open(FileCardItem f) => UI.Info($"预览 {f.Name}");
}

API 参数

参数 类型 默认值 说明
EmptyText string null 空态文本(作为翻译键)。留空则不显示空态。
Items List<FileCardItem> null 文件数据集合。
OnPreview EventCallback<FileCardItem> — 事件 点击某个文件卡片的回调(预览)。
ShowExtension bool true 是否在徽标角上显示大写扩展名。默认 true。
ShowSize bool true 是否显示文件大小。默认 true。
Size string "default" 尺寸档位:large / default / small。默认 default。
Variant string "filled" 外观:filled(徽标实心底、白图标,默认)/ plain(描边底、彩色图标)。
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 群