Skip to content

上传组件

上传组件

上传组件允许用户通过点击或者拖拽的方式上传文件。支持多种展示方式、自动/手动上传,以及丰富的自定义功能。

基础用法

通过点击上传按钮上传文件,使用 action 属性设置上传地址。

显示代码箭头
复制GitHub

列表类型

上传组件支持两种文件列表展示方式:文本列表和图片列表。使用 list-type 属性进行设置。

文本列表 (list-type="text")

图片列表 (list-type="picture")

显示代码箭头
复制GitHub

拖拽上传

设置 drag 属性可以启用拖拽上传模式,用户可以拖拽文件到特定区域以进行上传。

显示代码箭头
复制GitHub

手动上传

设置 auto-uploadfalse 可以禁用自动上传,需要调用 submit 方法手动开始上传。

显示代码箭头
复制GitHub

上传限制

可以使用 acceptmax-sizelimit 属性分别限制文件类型、大小和数量。

文件类型限制 (accept)

文件大小限制 (max-size)

数量限制 (limit)

显示代码箭头
复制GitHub

自定义上传

通过 http-request 属性可以自定义上传行为,提供更灵活的上传实现方式。

自定义上传实现 (http-request)

自定义附加数据 (data)

显示代码箭头
复制GitHub

事件处理

上传组件提供了丰富的事件用于处理上传过程中的各种状态变化。

事件日志

暂无日志记录
显示代码箭头
复制GitHub

插槽使用

通过多种插槽可以自定义上传组件的不同部分,包括触发按钮、文件列表等。

默认插槽(触发按钮)

拖拽区域插槽(drag)

文件列表项插槽(file-item)

显示代码箭头
复制GitHub

上传组件 API

属性

属性名说明类型可选值默认值
action上传的地址string
headers设置上传的请求头object
multiple是否支持多选文件booleanfalse
data上传时附带的额外参数object
name上传的文件字段名stringfile
with-credentials支持发送 cookie 凭证booleanfalse
accept接受上传的文件类型string
max-size文件大小限制,单位为MBnumber
file-list上传的文件列表UploadFile[][]
auto-upload是否在选取文件后立即上传booleantrue
list-type文件列表的类型stringtext / picturetext
drag是否启用拖拽上传booleanfalse
disabled是否禁用booleanfalse
show-file-list是否显示已上传文件列表booleantrue
limit最大允许上传个数number
before-upload上传文件之前的钩子(file: File) => boolean | Promise<any>
before-remove删除文件之前的钩子(file: UploadFile, fileList: UploadFile[]) => boolean
http-request覆盖默认的上传行为(options: UploadRequestOptions) => Promise<any>

UploadFile 类型

属性名说明类型可选值
uid文件唯一标识number | string
name文件名string
size文件大小number
type文件类型string
status文件状态stringready / uploading / success / fail
percentage上传进度number0-100
url文件URL地址string
response上传响应数据any
error上传错误信息Error
raw原始文件对象File

事件

事件名说明参数
success文件上传成功时触发(file: UploadFile, response: any)
error文件上传失败时触发(file: UploadFile, error: Error)
progress文件上传进度变化时触发(file: UploadFile, percent: number)
change文件状态改变时触发(file: UploadFile | null, fileList: UploadFile[])
exceed文件超出限制个数时触发(files: File[], fileList: UploadFile[])
remove文件被移除时触发(file: UploadFile, fileList: UploadFile[])
preview点击已上传的文件链接时触发(file: UploadFile)

方法

方法名说明参数
clearFiles清空文件列表
abort中止上传(file?: UploadFile) 可选,指定文件。不传则中止所有上传
submit手动上传文件

插槽

插槽名说明作用域参数
default上传触发区域
tip提示说明文字
file文件列表项{ file: UploadFile }

样式变量

上传组件使用了以下样式变量,可通过 SCSS 变量进行自定义:

变量名说明
$theme-color-primary主题色
$text-color-default文本颜色
$border-color-default边框颜色
$bg-color-default背景色
$font-size-default默认字体大小

</rewritten_file>

基于MIT许可发布