Vue2移动端(H5项目)项目基于vant封装图片上传组件(支持批量上传、单个上传、回显、删除、预览、最大上传数等功能)---解决批量上传问题

一、最终效果

在这里插入图片描述

二、参数配置

1、代码示例:

<t-upload
   @fileList="fileList"
    :showFileList="showFileList"
    @showFile="showFile"
    :showFileUrl="showFileUrl"
  />

2、配置参数(TUpload Attributes)继承van-uploader的属性

参数 说明 类型 默认值
limitSize 限制上传文件大小 Number 10MB
fileType 限制上传的文件类型 String .jpg,.jpeg,.png
totalLimit 最多上传个数限制 Number 5
showFileList 回显文件的list(内含:url–>对应完整路径) Array -
showFileUrl 上传组件回显图片–相对路径数据(后台需要) Array -
savePath 服务器上传地址 String 自己的上传地址

3、events 事件继承van-uploader的事件

事件名 说明 返回值
fileList 上传成功或删除成功触发 返回最终上传数据
showFile 回显list删除后触发 返回回显上传没有删除的数据

三、具体页面使用

<template>
  <div class="initial_Judgment">
    <div class="img_box">
        <div class="img_title">
          终判图
        </div>
        <t-upload
          :showFileUrl="showFileUrl"
          :showFileList="showFileList"
          @fileList="fileList"
          @showFile="showFile"
        />
      </div>
  </div>
</template>
<script>
export default {
     
     
  name: 'initialJudgment',
  data() {
     
     
    return {
     
     
      formData: {
     
     
        images: [], //上传图片
      },
      showFileList: [], // 上传组件--回显内含url且是完整地址
      showFileUrl: [], // 上传组件回显图片--相对路径数据
    }
  },
  created() {
     
     
    this.getFinalInfo()
  },
  methods: {
     
     
    // 获取详情信息
    async getFinalInfo() {
     
     
      const res = await this.$api.getFinalInfo(this.$route.query.id)
      console.log('详情数据', res)
      if (res.success) {
     
     
        if (res.data.finalImages.length > 0) {
     
     
          this.showFileList = res.data.finalImages || 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wocwin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值