vue-upload-slot
一个轻量的方便扩展的Vue上传组件, 他没有界面, 所以你可以使用
slot
自定义界面
Install
Using npm:
npm install vue-upload-slot --save
; Vue;
Using a script tag:
attribute
名称 | 类型 | 说明 |
---|---|---|
action | string | 上传的地址 |
headers | object | 设置上传的请求头部 |
data | object | 传时附带的额外参数 |
name | string | 上传的文件字段名 |
accept | string | 接受上传的文件类型 |
min-size | number | 最小上传文件大小,单位 kb |
max-size | number | 最大上传文件大小,单位 kb |
on-exceeded-size | function(uploadSlotFile) | 文件超出指定大小限制时的钩子 |
on-change | function(uploadSlotFiles) | 选择完文件的钩子 |
before-upload | function(uploadSlotFile) | 上传文件之前的钩子,若返回 false 或者 Promise 则停止上传 |
on-progress | function(event, uploadSlotFile) | 文件上传进度被改变的钩子 |
on-success | function(response, uploadSlotFile) | 文件上传成功时的钩子 |
on-error | function(error, uploadSlotFile) | 文件上传失败时的钩子 |
slot
使用 v-slot 可以获取到组件内部的数据
名称 | 类型 | 说明 |
---|---|---|
file | uploadSlotFile | 文件, 原来的File 放到了uploadSlotFile.row |
selectFile | Function | 打开文件选择器 |
uploadSlotFile
属性
名称 | 类型 | 说明 |
---|---|---|
row | File | 原始文件对象 |
name | string | 文件名 |
size | number | 文件大小 |
type | string | 文件类型 |
progress | number | 文件上传进度 |
Example
<!-- 简单 --> upload <!-- 详细 --> {{ file.progress.toFixed(2) + '%' }} upload <!-- 预览 -->
你可以跟其他框架组合使用,比如:
upload
upload