Skip to content

UploadFilePreviewList 文件预览列表 ​

用于展示文件 ID 列表对应的文件预览信息(名称、缩略图、大小等),常见于详情页展示已上传的附件列表。

基础用法 ​

传入文件 ID 列表,组件自动请求 previewUrl 获取文件详情并渲染预览。

基础用法

传入文件 ID 列表,组件自动请求后端获取文件详情并渲染预览。

当前绑定的文件 ID: ["file-001","file-002","file-003"]

详情页切换场景 ​

模拟表格详情页场景:当切换不同数据时,组件会请求对应的文件列表。通过网络请求日志可验证旧请求是否被正确取消。

详情页切换

模拟表格详情页场景:切换不同数据时,组件会加载对应的文件预览列表。
测试方法:打开浏览器开发者工具 Network 面板,切换详情时观察请求状态。
修复后行为:切换详情时,旧请求会被取消(cancelled),不会有重复请求。

当前详情 ID: 1

测试步骤:

  1. 打开 Network 面板,清空现有记录
  2. 点击任意「详情」按钮(如「详情 1」)
  3. 立即点击另一个「详情」按钮(如「详情 2」)
  4. 观察 Network 中的请求:详情 1 的请求应显示 cancelled/aborted 状态
  5. 等待详情 2 的请求完成
  6. 再次切换回详情 1,验证不会有重复请求

卡片尺寸控制 ​

通过 itemWidth 和 itemHeight 控制卡片尺寸,固定尺寸的卡片宽度不会受文件名长度影响。

卡片尺寸

通过 itemWidth 和 itemHeight 控制卡片尺寸, 支持数字(自动添加 px 后缀)或带单位字符串。固定尺寸的卡片宽度不会因文件名长度而变化。

固定尺寸卡片(数字)

固定尺寸卡片(字符串)

自适应尺寸(默认)

当前绑定的文件 ID: ["file-001","file-002","file-003"]

API ​

Props ​

参数说明类型默认值
v-model文件 ID 列表,支持字符串(逗号分隔)或数组string | string[]-
preview-url获取文件预览信息的接口地址,组件请求 ${previewUrl}/${fileId}string-
model-value-typev-model 值类型'string' | 'array''array'
show-download是否显示下载按钮booleantrue
removable是否显示删除按钮booleanfalse
disabled是否禁用booleanfalse
remove-confirm-title删除确认框标题string'确认删除'
remove-confirm-message删除确认框内容,支持 {name} 占位符string'确定要删除文件「{name}」吗?'
item-width卡片宽度,支持数字或带单位字符串string | numberundefined
item-height卡片高度,支持数字或带单位字符串string | numberundefined
delete-url根据 fileId 删除文件的接口,组件调用 DELETE ${deleteUrl}/${fileId}stringundefined

Events ​

事件名说明参数
update:modelValue删除文件后触发(value: string | string[])
remove删除文件时触发(确认删除后、调用 deleteUrl 之前)(fileId: string)

Released under the MIT License.