FilesCard ๐ โ
Introduction โ
The FilesCard
component is a flexible file display component that supports visual presentation of various file types (images, documents, compressed files, etc.), including file icons, names, descriptions, status and other information. It provides rich customization options and interactive features, suitable for file management, upload preview and other scenarios.
Code Examples โ
Basic Usage โ
Set name property, and name has no suffix. name="Test File"Set name property, has file suffix. name="Test File.pdf"Supports matching built-in icons based on name suffix If there is a suffix but can't match common icons, it defaults to File
Test File
Unknown
Test File
.pdf
Pdf
Test doc suffix
.doc
Word
Test xls suffix
.xls
Excel
Test ppt suffix
.ppt
Ppt
Test txt suffix
.txt
Txt
Test pdf suffix
.pdf
Pdf
Test png suffix
.png
Image
Test jpg suffix
.jpg
Image
Test gif suffix
.gif
Image
Test mp4 suffix
.mp4
Video
Test mp3 suffix
.mp3
Audio
Test zip suffix
.zip
Zip
Test rar suffix
.rar
Zip
Test 7z suffix
.7z
Zip
Test lnk suffix
.lnk
Link
Test obj suffix
.obj
3D
Test fbx suffix
.fbx
3D
Test glb suffix
.glb
3D
Test sql suffix
.sql
Database
Test db suffix
.db
Database
Test md suffix
.md
Markdown
Test js suffix
.js
Code
Test py suffix
.py
Code
Test java suffix
.java
Code
Test php suffix
.php
Code
Test json suffix
.json
Code
https://dd.comMultiple special characters.suffix
.self
File
Status Setting โ
Set status property to control file loading status "uploading","done","error""uploading"+"percent" controls upload progress, "error"+"errorTip" controls custom failure prompt
uploading test file
.pdf
ไธไผ ไธญ...ใป0%
done test file
.pdf
Pdf
error test file
.pdf
ไธไผ ๅคฑ่ดฅ
uploading test file
.doc
ไธไผ ไธญ...ใป50%
error test file
.doc
Custom failure prompt
Display Delete Icon โ
Delete test file
.md
Markdown
Image File Display โ
Image files previewable and non-previewableImage files square variant other formats are not affected by variant propertyImage files default rectangle variant supports upload status, supports preview on/off, supports preview mask overlay on/offImage files square variant supports upload status, supports preview on/off, supports preview mask overlay on/off
Previewable image
.jpeg
Image
Non-previewable image
.jpeg
Image
Other files not affected by variant
.txt
Txtใป29 KB
Upload progress
.jpeg
ไธไผ ไธญ...ใป50%
Upload failed
.jpeg
ไธไผ ๅคฑ่ดฅ
Close preview hover mask
.jpeg
Image
Close preview function
.jpeg
Image
50%
ไธไผ ๅคฑ่ดฅ
Custom Styles and Interaction โ
Custom style
.xls
Excel
Custom hoverStyle
.xls
Excel
Custom Built-in File Colors โ
Custom Colors 1
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Custom Colors 2
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Test Name
Test description
Properties โ
Property Name | Type | Required | Default | Description |
---|---|---|---|---|
uid | string | number | No | undefined | File unique identifier |
name | string | No | undefined | File name (supports automatic suffix parsing to match icons) |
fileSize | number | No | undefined | File size (unit: bytes, automatically converted to readable format) |
fileType | string | No | undefined | File type (priority higher than name suffix parsing, e.g. 'image' , 'document' ) |
description | string | No | undefined | Description text (supports dynamic generation of file type and size info) |
url | string | No | undefined | File access URL (image files can be used for preview) |
thumbUrl | string | No | undefined | Image thumbnail URL |
imgFile | File | Blob | No | undefined | Image file stream (automatically parsed as preview URL, only for temporary display before upload) |
iconSize | string | No | '42px' | Icon/image size |
iconColor | string | No | undefined | Icon color for non-image files (supports custom color values) |
showDelIcon | boolean | No | false | Whether to show hover delete icon |
maxWidth | string | No | '236px' | Card maximum width |
style | CSSProperties | No | undefined | Card custom styles |
hoverStyle | CSSProperties | No | undefined | Card custom styles when hovering |
imgVariant | 'rectangle' | 'square' | No | 'rectangle' | Image card form (rectangle/square) |
imgPreview | boolean | No | true | Whether to enable image preview functionality |
imgPreviewMask | boolean | No | true | Whether to show image preview mask overlay |
status | 'uploading' | 'done' | 'error' | No | undefined | File status (controls progress bar, error prompts and other visual feedback) |
percent | number | No | 0 | Upload progress percentage (used with status="uploading" ) |
errorTip | string | No | 'Upload failed' | Custom error status prompt text |
Slots โ
Slot Name | Slot Parameters | Description |
---|---|---|
#icon | { item: FilesCardProps } | Custom icon area (priority higher than auto-parsed built-in icons) |
#content | { item: FilesCardProps } | Custom content area (overrides default name and description display) |
#name-prefix | { item: FilesCardProps, prefix, suffix } | Custom file name prefix (for truncation display scenarios) |
#name-suffix | { item: FilesCardProps, prefix, suffix } | Custom file name suffix (for truncation display scenarios) |
#description | { item: FilesCardProps, prefix, suffix } | Custom description text (overrides default generated description) |
#image-preview-actions | { item: FilesCardProps, prefix, suffix } | Image preview mask content (displayed on hover, requires imgPreviewMask ) |
#del-icon | { item: FilesCardProps } | Custom delete icon (default uses Element Plus CircleCloseFilled icon) |
Events โ
Event Name | Callback Parameters | Description |
---|---|---|
delete | { ...props } | Triggered when delete button is clicked, passes complete properties of current card |
image-preview | { ...props } | Called when image preview function is triggered (click image or mask layer) |
Features โ
- Automatic File Type Recognition Automatically matches built-in icons based on file name suffixes (supports common formats like
.pdf
,.png
,.zip
, etc.), displays generic file icon when no match is found. - Multi-state Visualization Supports
uploading
(uploading with progress bar),done
(completed),error
(failed with custom prompt) three states, state styles automatically switch. - Enhanced Image File Support Supports image preview functionality (based on Element Plus image preview component), provides square/rectangle variants, supports direct parsing of local image file streams through
imgFile
. - Highly Customizable Custom icon colors, sizes, card styles and hover effects, flexibly extend content through slots (such as file name truncation display, status overlay).
- Responsive Design Supports controlling card maximum width through
maxWidth
, adapts to different layout scenarios, file descriptions automatically truncate to prevent overflow.