项目正在快速迭代中,API 与视觉细节可能随版本调整,请勿用于生产环境。
仅桌面端保证样式

Upload 上传 ​

文件上传组件:隐藏 input 覆盖触发区,XHR 直传 action(FormData 提交,文件字段名由 name 指定,data 附加表单字段、headers 附加请求头),内置文件列表、进度条与数量限制。文件项包含 uid / name / size / status(ready | uploading | success | fail)/ percentage 字段;上传过程中 status 为 uploading 并展示进度,结束后按 HTTP 状态码落入 success 或 fail。

基础用法 ​

action 为必传上传地址,multiple 支持一次选择多个文件,accept 按扩展名或 MIME 过滤可选文件。

选择文件

受控文件列表 ​

v-model:file-list 受控列表,可预置已上传文件(status 为 success 的项带已上传图标),移除文件时同步更新。

选择文件

数量限制 ​

limit 限制最大数量,超限不再加入列表并触发 exceed 事件。

选择文件
已选 0 个

手动上传 ​

auto-upload=false 时选择文件仅进入列表(status 为 ready),调用实例方法 submit 才开始上传全部 ready 文件。

选择文件

拖拽与照片墙 ​

drag 开启拖拽区(点击与拖入都走同一入口,悬停高亮,#trigger 可整体替换拖拽区内容,常配 accept 限定类型);list-type 三种取值:text 普通列表、picture 列表项前置文件图标、picture-card 触发区与列表呈方形卡片。照片墙常与 limit 组合,超限触发 exceed 事件且不加入列表。

将文件拖到此处,或点击上传
list-type picture-card:卡片触发区 + 卡片式文件列表
list-type picture:普通列表项前置文件图标
选择文件
照片墙最多可传 4 个,超出试试

照片墙自定义缩略图 ​

内置列表(含 picture-card)渲染的是「图标 + 文件名」,不含图片缩略图预览,组件也没有缩略图插槽;需要预览时的完整做法:show-file-list=false 关闭内置列表,change 事件拿到 file.raw 后用 FileReader 转 data URL,自行渲染卡片网格(本例 auto-upload=false 避免真实上传,仅演示本地预览)。

自定义触发区与隐藏列表 ​

#trigger 插槽替换默认触发内容(drag 模式下替换整个拖拽区);show-file-list=false 隐藏文件列表,配合上传结果事件自行维护展示。

API ​

Upload Props

参数说明类型默认值
action上传地址(POST)string
headers请求头object{}
data随文件附加的表单字段object{}
name文件字段名stringfile
multiple支持多选booleanfalse
limit最大上传数量,超限触发 exceed 且不加入列表number—
disabled禁用(响应表单禁用注入)booleanfalse
drag拖拽上传booleanfalse
autoUpload选择后立即上传,false 时通过 submit 手动提交booleantrue
listType列表样式text | picture | picture-cardtext
showFileList显示文件列表booleantrue
accept原生 accept 文件类型过滤string
fileList受控文件列表(v-model:fileList),缺省内部维护arrayundefined
beforeUpload上传前钩子,返回 false(或抛错)取消上传(file) => boolean | Promise—

Events

参数说明类型默认值
update:fileList文件列表变化(fileList) => void—
change文件状态变化(新增/开始上传/结束)(file, fileList) => void—
remove移除文件(file, fileList) => void—
success上传成功(HTTP 2xx)(response, file, fileList) => void—
error上传失败(非 2xx 或网络错误)(error, file, fileList) => void—
exceed超出 limit 数量(files, fileList) => void—
preview点击文件名(file) => void—

Slots

参数说明类型默认值
trigger触发区内容(drag 模式下替换整个拖拽区)—选择文件 / 拖拽区默认样式

Methods

参数说明类型默认值
submit上传所有 status 为 ready 的文件() => void—
clearFiles清空文件列表() => void—
abort中断指定文件的上传(file) => void—
handleRemove移除指定文件(file) => void—