前端上传组件封装

组件功能

提供上传、显示列表、允许拖拽排序、批量预览、下载、删除等功能

组件预览

 

组件实现

<template>

  <div>

    <el-upload

      :action="uploadUrl"

      :accept="accept"

      :limit="limit"

      :on-exceed="handleExceed"

      :before-upload="beforeUpload"

      :headers="headers"

      :show-file-list="false"

      :file-list="fileList"

      :on-success="handleSuccess"

      class="upload-demo"

      :multiple="multiple"

    >

      <slot name="uploadComponent">

        <el-button size="small" v-if="isShowDel" type="text">{ {

          uploadTxt

        }}</el-button>

      </slot>

    </el-upload>

    <slot name="filePreviewComponent"></slot>

    <draggable

      class="upload-list"

      v-model="fileArr"

      filter=".forbid"

      animation="300"

      @end="onMoveEnd"

    >

      <!-- <div> -->

      <transition-group>

        <div

          v-for="(item, index) in fileArr"

          :key="index"

          class="upload-list-item"

        >

          <div :title="item.realName" class="upload-list-item-title">

            <img

              style="margin-right:5px"

              :src="showTypeTip(item)"

              width="15px"

              height="18px"

              alt=""

            />

            <span>{ { item.realName }}</span>

          </div>

          <div class="upload_options">

            <span class="preview-class" @click="preview(item)">

              <i class="el-icon-view"></i>

              预览</span

            >

            <span class="down-class" @click="downloadFile(item)">

              <i class="el-icon-download"></i>

              下载</span

            >

            <span v-if="isShowDel" class="del-class" &

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

吃西瓜不吐籽_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值