Upload 上传
通过点击或者拖拽上传文件。
基础用法
文件上传完毕后会触发 after-read 回调函数,获取到对应的 file 对象。
文件预览
通过 v-model 可以绑定已经上传的文件列表,并展示文件列表的预览图。
上传状态
通过 status 属性可以标识上传状态,uploading 表示上传中,failed 表示上传失败,done 表示上传完成。
限制上传数量
通过 max-count
属性可以限制上传文件的数量,上传数量达到限制后,会自动隐藏上传区域。
限制上传大小
通过 max-size 属性可以限制上传文件的大小,超过大小的文件会被自动过滤,这些文件信息可以通过 oversize 事件获取。
API
Props
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
v-model | 已上传的文件列表 | Array | - |
accept | 接受的文件类型 | string | image/* |
name | 上传的文件字段名 | string | file |
preview-size | 预览图和上传区域的大小,默认单位为 px | number | string | Array | 80px |
preview-image | 是否展示预览图 | boolean | true |
preview-options | 预览图的选项,具体见下方表格 | object | - |
multiple | 是否可以上传多个文件 | boolean | false |
disabled | 是否禁用文件上传 | boolean | false |
readonly | 是否只读,只读状态下无法选择文件,无法上传 | boolean | false |
deletable | 是否可以删除已上传的文件 | boolean | true |
reupload | 是否覆盖上传 | boolean | false |
show-upload | 是否展示上传区域 | boolean | true |
lazy-load | 是否延迟加载图片 | boolean | false |
capture | 图片捕获属性 | string | camera |
after-read | 文件读取完成后的回调函数 | (file: File) => void | - |
before-read | 文件读取前的回调函数,返回 true 表示校验通过,返回 false 表示校验失败 | (file: File) => boolean | - |
before-delete | 文件删除前的回调函数,返回 true 表示删除成功,返回 false 表示删除失败 | (file: File, index: number) => boolean | - |
max-size | 文件大小限制,单位为 byte | number | (file: File) => boolean | - |
max-count | 文件数量限制 | number | - |
result-type | 文件读取结果类型,可选值为 dataUrl text file | string | dataUrl |
upload-text | 上传区域文字提示 | string | 上传 |
image-fit | 预览图的裁剪模式,可选值为 contain cover fill none scale-down | string | cover |
upload-icon | 上传区域图标 | string | photograph |
注意:accept、capture 和 multiple 为浏览器 input 标签的原生属性,移动端各种机型对这些属性的支持程度有所差异,因此在不同机型和 WebView 下可能出现一些兼容性问题。