Skip to content

FilesCard 文件卡片 📇

介绍

FilesCard 组件是一个灵活的文件展示组件,支持多种文件类型(图片、文档、压缩包等)的可视化呈现,包含文件图标、名称、描述、状态等信息,同时提供丰富的自定义选项和交互功能,适用于文件管理、上传预览等场景。

代码演示

基本使用

设置 name 属性, 且 name 没有后缀。name="测试文件"
测试文件
Unknown
设置 name 属性,有文件后缀。name="测试文件.pdf"
测试文件
.pdf
Pdf
支持更据 name 后缀匹配内置图标
测试doc后缀
.doc
Word
测试xls后缀
.xls
Excel
测试ppt后缀
.ppt
Ppt
测试txt后缀
.txt
Txt
测试pdf后缀
.pdf
Pdf
测试png后缀
.png
Image
测试jpg后缀
.jpg
Image
测试gif后缀
.gif
Image
测试mp4后缀
.mp4
Video
测试mp3后缀
.mp3
Audio
测试zip后缀
.zip
Zip
测试rar后缀
.rar
Zip
测试7z后缀
.7z
Zip
测试lnk后缀
.lnk
Link
测试obj后缀
.obj
3D
测试fbx后缀
.fbx
3D
测试glb后缀
.glb
3D
测试sql后缀
.sql
Database
测试db后缀
.db
Database
测试md后缀
.md
Markdown
测试js后缀
.js
Code
测试py后缀
.py
Code
测试java后缀
.java
Code
测试php后缀
.php
Code
测试json后缀
.json
Code
如果有后缀,但是匹配不到常用的图标,则默认为 File 文件
https://dd.com多个特殊字符.后缀
.self
File

你可以在 组件实例上拿到 colorMap 内置文件类型 fileType: color 对象。 内置了 16 种文件类型图标。

状态设置

设置 status 属性,控制文件加载状态 "uploading","done","error"
uploading 测试文件
.pdf
上传中...・0%
done 测试文件
.pdf
Pdf
error 测试文件
.pdf
上传失败
"uploading"+"percent" 控制上传进度,"error"+"errorTip"控制自定义失败提示
uploading 测试文件
.doc
上传中...・50%
error 测试文件
.doc
自定义失败提示

控制文件加载状态(上传中、完成、失败)及进度显示。

展示删除图标

删除测试文件
.md
Markdown

可以设置 showDelIcon 属性来显示删除图标,并设置 @delete 方法来设置删除事件。

图片文件展示

图片文件 可预览不可预览
可预览的图片
.jpeg
Image
无法预览的图片
.jpeg
Image
图片文件 正方形变体 其他格式不受变体属性影响
其他文件不受变体影响
.txt
Txt・29 KB
图片文件 默认长方形变体 支持上传状态 、支持预览开启关闭 、支持预览遮罩蒙层开启关闭
上传进度
.jpeg
上传中...・50%
上传失败
.jpeg
上传失败
关闭预览悬停遮罩
.jpeg
Image
关闭预览功能
.jpeg
Image
图片文件 正方形变体 支持上传状态 、支持预览开启关闭 、支持预览遮罩蒙层开启关闭
50%
上传失败

支持图片预览、正方形/长方形变体、上传状态覆盖层等功能。同样也可以 通过 status 和 percent 控制。

自定义样式与交互

自定义style样式
.xls
Excel
自定义hoverStyle样式
.xls
Excel

通过 style/hoverStyle 自定义卡片样式,支持悬停删除图标和自定义插槽扩展。

自定义内置文件颜色

自定义颜色1

测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description

自定义颜色2

测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description
测试名称
测试description

属性

属性名类型是否必填默认值描述
uidstring | number文件唯一标识符
namestringundefined文件名(支持自动解析后缀匹配图标)
fileSizenumberundefined文件大小(单位:字节,自动转换为易读格式)
fileTypestringundefined文件类型(优先级高于 name 后缀解析,如 'image''document'
descriptionstringundefined描述文本(支持动态生成文件类型和大小信息)
urlstringundefined文件访问地址(图片文件可用于预览)
thumbUrlstringundefined图片缩略图地址
imgFileFile | Blobundefined图片文件流(自动解析为预览地址,仅用于上传前临时展示)
iconSizestring'42px'图标/图片尺寸
iconColorstringundefined非图片文件的图标颜色(支持自定义色值)
showDelIconbooleanfalse是否显示悬停删除图标
maxWidthstring'236px'卡片最大宽度
styleCSSPropertiesundefined卡片自定义样式
hoverStyleCSSPropertiesundefined卡片悬停时的自定义样式
imgVariant'rectangle' | 'square''rectangle'图片卡片形态(长方形/正方形)
imgPreviewbooleantrue是否开启图片预览功能
imgPreviewMaskbooleantrue是否显示图片预览遮罩蒙层
status'uploading' | 'done' | 'error'undefined文件状态(控制进度条、错误提示等视觉反馈)
percentnumber0上传进度百分比(配合 status="uploading" 使用)
errorTipstring'上传失败'错误状态自定义提示文本

插槽

插槽名插槽参数描述
#icon{ item: FilesCardProps }自定义图标区域(优先级高于自动解析的内置图标)
#content{ item: FilesCardProps }自定义内容区域(覆盖默认的名称和描述展示)
#name-prefix{ item: FilesCardProps, prefix, suffix }文件名前缀自定义(用于截断显示场景)
#name-suffix{ item: FilesCardProps, prefix, suffix }文件名后缀自定义(用于截断显示场景)
#description{ item: FilesCardProps, prefix, suffix }描述文本自定义(覆盖默认生成的描述)
#image-preview-actions{ item: FilesCardProps, prefix, suffix }图片预览遮罩层内容(悬停时显示,需配合 imgPreviewMask 使用)
#del-icon{ item: FilesCardProps }自定义删除图标(默认使用 Element Plus 的 CircleCloseFilled 图标)

事件

事件名回调参数描述
delete{ ...props }删除按钮点击时触发,传递当前卡片的完整属性
image-preview{ ...props }图片预览功能触发时调用(点击图片或遮罩层)

功能特性

  1. 文件类型自动识别根据文件名后缀自动匹配内置图标(支持常见格式如 .pdf.png.zip 等),无匹配时显示通用文件图标。
  2. 多状态可视化支持 uploading(上传中,带进度条)、done(完成)、error(失败,带自定义提示)三种状态,状态样式自动切换。
  3. 图片文件增强支持支持图片预览功能(基于 Element Plus 图片预览组件),提供正方形/长方形变体,支持通过 imgFile 直接解析本地图片文件流。
  4. 高度可定制化自定义图标颜色、尺寸、卡片样式及悬停效果,通过插槽灵活扩展内容(如文件名截断显示、状态覆盖层)。
  5. 响应式设计支持通过 maxWidth 控制卡片最大宽度,适配不同布局场景,文件描述自动截断防止溢出。