Skip to content

Upload 上传 ​

简介 ​

通过点击上传文件,封装了上传逻辑、双向绑定和表单验证,使其像 ElInput 一样易用。

文件上传依赖于 launch api.upload 接口,需要保证接口返回一个文件地址。

代码演示 ​

基础使用 ​

使用 v-model 进行双向绑定。

最大上传数量 ​

使用 limit 属性限制上传的最大文件数量,达到最大数量会隐藏选择按钮,超出最大数量会显示警告提示。

单一值 ​

使用 single 属性可绑定一个单一值,而不是数组。

仅选择 ​

使用 select-only 属性仅选择文件,而不上传。

API ​

UploadProps ​

属性描述类型默认值
accept允许选择的文件类型string''
limit允许上传文件的最大数量,0表示无限制number0
multiple是否支持多选文件booleanfalse
max-size选择文件的最大尺寸,单位字节number-
model-value绑定的值string | File | (string \ File)[]-
validate-event是否触发表单验证booleantrue
single是否只绑定一个值(string 或 File,而非数组)booleanfalse
readonly是否只读boolean-
disabled是否禁用boolean-
select-only仅选择文件,将其和其他表单项一并交由表单通过 FormData 上传booleanfalse
size列表项的尺寸'mini' | 'small' | 'default' | 'large''default'
request上传接口(data: Blob, config?: AxiosRequestConfig) => Promise<string>-
request-config允许自定义当前上传接口的配置,例如可以添加查询参数AxiosRequestConfig-
request-extra自定义额外数据,可通过请求接口的第三个参数获取Record<PropertyKey, any>-

UploadSlots ​

插槽描述属性
default自定义默认内容-

UploadEmits ​

事件描述类型
exceed当超出限制时触发() => void
update:model-value绑定的值改变时触发(value: string | File | (string | File)[]) => void
change绑定的值改变时触发(value: string | File | (string | File)[]) => void
oversize选择文件超出最大尺寸时触发(file: File) => void

基于 MIT 许可发布