Uploader 文件上传

基础用法

  1. <van-uploader :after-read="afterRead" />
  1. export default {
  2. methods: {
  3. afterRead(file) {
  4. // 此时可以自行将文件上传至服务器
  5. console.log(file);
  6. }
  7. }
  8. };

图片预览

通过v-model可以绑定已经上传的图片列表,并展示图片列表的预览图

  1. export default {
  2. data() {
  3. return {
  4. fileList: [
  5. // Uploader 根据文件后缀来判断是否为图片文件
  6. // 如果图片 URL 中不包含类型信息,可以添加 isImage 标记来声明
  7. { url: 'https://cloud-image', isImage: true }
  8. ]
  9. }
  10. };

限制上传数量

通过max-count属性可以限制上传文件的数量,上传数量达到限制后,会自动隐藏上传区域

  1. <van-uploader
  2. v-model="fileList"
  3. multiple
  4. :max-count="2"
  5. />
  1. <van-uploader>
  2. </van-uploader>

上传前校验

通过传入beforeRead函数可以在上传前进行校验,返回true表示校验通过,返回false表示校验失败。支持返回Promise进行异步校验

<van-uploader :before-read="beforeRead" />

API

Props

Events

事件名说明回调参数
oversize文件大小超过限制时触发after-read
click-preview点击预览图时触发after-read
close-preview关闭全屏图片预览时触发-
delete删除文件预览时触发

回调参数

before-read、after-read、before-delete 执行时会传递以下回调参数:

参数名说明类型
file文件解析后的 file 对象object
detail额外信息,包含 name 和 index 字段object

ResultType 可选值

方法

通过 ref 可以获取到 Uploader 实例并调用实例方法

方法名说明参数返回值
closeImagePreview关闭全屏的图片预览--