element的el-upload实现多个图片上传以及预览与删除

news2024/11/23 23:10:49
<el-form-item
            label="实验室照片:"
            prop="labUrlList"
            v-if="ruleForm.labHave"
          >
            <el-upload
              :action="urlUpload"
              :headers="loadHeader"
              list-type="picture-card"
              :file-list="ruleForm.labUrlList"
              class="labUrlClass"
              :on-success="handleImgSuccess"
              :before-upload="beforeAvatarUpload"
              multiple
            >
              <!-- <i slot="default" class="el-icon-plus"></i> -->
              <img src="../../assets/images/photoSmall.png" />
              <span class="el-upload__text">选择照片</span>

              <div slot="file" slot-scope="{ file }">
                <img
                  class="el-upload-list__item-thumbnail"
                  :src="(file.response||{}).data"
                  alt=""
                />
                <span class="el-upload-list__item-actions">
                  <span
                    class="el-upload-list__item-preview"
                    @click="handlePictureCardPreview(file)"
                  >
                    <i class="el-icon-zoom-in"></i>
                  </span>
                  <span
                    class="el-upload-list__item-delete"
                    @click="handlePictureCardRemove(file)"
                  >
                    <i class="el-icon-delete"></i>
                  </span>
                </span>
              </div>
            </el-upload>
            <el-dialog
              title="照片预览"
              :visible.sync="dialogVisible"
              class="imgDialog"
            >
              <img width="100%" :src="dialogImageUrl" alt="" />
            </el-dialog>
          </el-form-item>
data(){
	return {
		ruleForm:{
				labUrlList:[]
			}	
		}
}

js

    handlePictureCardRemove(file, fileList) {
      console.log(file, this.ruleForm.labUrlList);
      const index = this.ruleForm.labUrlList.findIndex((item) => {
        return item.uid === file.uid
      })
      this.ruleForm.labUrlList.splice(index, 1)
    },
    handlePictureCardPreview(file) {
      this.dialogImageUrl = file.url;
      this.dialogVisible = true;
    },
    handleImgSuccess(val, e, el) {
       if (e.response.code != 0) {
        this.$message.error(e.response.msg);
        return false;
      }
      //文件上传成功,清空提示信息
      this.$refs.formOneRef.clearValidate();
      clearTimeout(this.timer);
      this.timer = setTimeout(() => {
        this.$message.success("上传成功");
      }, 200);
      // this.fileList = el
      this.ruleForm.labUrlList = el;
      console.log(this.ruleForm.labUrlList, "this.fileList");
    },
    // 图片上传前的判断
    beforeAvatarUpload(file) {
      let imgType = ["jpg", "jpeg", "png"];
      let judge = false; // 后缀
      let type = file.name.split(".")[file.name.split(".").length - 1];
      for (let k = 0; k < imgType.length; k++) {
        if (imgType[k].toUpperCase() === type.toUpperCase()) {
          judge = true;
          break;
        }
      }
      // 验证图片格式
      if (!judge) {
        this.$message.error("图片格式只支持:JPG、JPEG、PNG");
        return false;
      }
      const isLt1M = file.size / 1024 / 1024;
      if (isLt1M > 1) {
        this.$message.error("上传头像图片大小不能超过1MB");
        return false;
      }
      return true;
    },

style

  /deep/.el-form-item__content {
    .labUrlClass {
      width: 470px !important;
      .el-upload.el-upload--picture-card {
        position: relative;
        .el-upload__text {
          position: absolute;
          bottom: -26px;
          left: 45px;
          color: rgba(153, 153, 153, 1);
        }
      }
    }
  }

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/783345.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LabVIEW在IMAQ图像中手动选择多个ROI

LabVIEW在IMAQ图像中手动选择多个ROI 设计了一个VI&#xff0c;用于在图像上生成和叠加一系列感兴趣区域&#xff08;ROI&#xff09;&#xff0c;并在IMAQ图像控件中显示它们。想挑选其中的一些进行后续处理。可以在控件中手动选择 ROI 吗&#xff1f; 以编程方式生成的 ROI…

MYSQL练习二答案

练习2答案 构建数据库 数据库 数据表 answer开头表为对应题号答案形成的数据表 表结构 表数据 答案&#xff1a; 1、修改emp表中sal字段为salary SQL语句 ALTER TABLE emp change sal salary double结果&#xff1a; 2、查找年薪在20000到30000之间的所有员工信息并按照 工…

Vue中scoped样式

scoped样式&#xff1a; 作用&#xff1a;让样式在局部生效&#xff0c;防止冲突 写法&#xff1a;<style scoped> 目录结构: Student.vue: 中的背景颜色设置的orange橙色 <template><div class"demo"><h2>学生姓名&#xff1a;{{name}}<…

文本预处理——文本张量表示方法

目录 文本张量表示one-hot编码word2vecword embedding 文本张量表示 one-hot编码 word2vec word embedding

四,Eureka 第四章

2.1.3 增加依赖 <!--添加依赖--><dependencies><!--Eureka Server--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency>&l…

uniapp app nfc读取IC卡数据

先勾选权限 判断当前设备是否支持NFC以及是否打开了NFC功能 var main plus.android.runtimeMainActivity(); var NfcAdapter plus.android.importClass("android.nfc.NfcAdapter"); var _nfcAdapter NfcAdapter.getDefaultAdapter(main); console.log(NFC,_nfcA…

43:Three.js - 中

一、相机 相机&#xff0c;类似于眼睛&#xff0c;用于在3D舞台中&#xff0c;放置在不同的位置&#xff0c;实现通过不同的角度观察物体。 查看 Three.js 的文档&#xff0c;可以看到 Camera 是一个抽象类&#xff0c;一般不直接使用&#xff0c;其他类型的 Camera 实现了这个…

循环链表的实现

循环链表简介 简单来说&#xff0c;单链表像一个小巷&#xff0c;无论怎么样最终都能从一端走到另一端&#xff0c;循环链表则像一个有传送门的小巷&#xff0c;因为循环链表当你以为你走到结尾的时候&#xff0c;其实你又回到了开头。循环链表和非循环链表其实创建的过程以及…

RS485自由转PROFINET网关连接扫码枪

捷米JM-RS485/232-PN(RS485转Profinet)将具有RS485/232接口、自由通信协议接口的设备与PROFINET相连&#xff0c;作为PROFINET现场总线系统的一个设备。 捷米JM-RS485/232-PN集成了一个2端口交换机。受支持的以太网服务&#xff1a;ping、arp、SNMP和LLDP。端口诊断。禁用端口…

MySQL HA:如何将“删库跑路”的损失降到最低

对于任何一个企业来说&#xff0c;数据安全的重要性是不言而喻的。我在开篇词中也曾经强调过&#xff0c;凡是涉及到数据的问题&#xff0c;都是损失惨重的大问题。 能够影响数据安全的事件&#xff0c;都是极小概率的事件&#xff0c;比如说&#xff1a;数据库宕机、磁盘损坏…

服务器用友数据库中了locked勒索病毒后怎么解锁数据恢复

随着信息技术的迅速发展&#xff0c;服务器成为现代企业中不可或缺的重要设备。然而&#xff0c;由于网络安全风险的存在&#xff0c;服务器在日常运作中可能遭受各种威胁&#xff0c;包括恶意软件和勒索病毒攻击。近日&#xff0c;我们收到很多企业的求助&#xff0c;企业的用…

influxdb数据转移到clickhouse,顺便记录一些influxdb的常用命令

其实应该先写个influxdb初探的&#xff0c;但是当时没有时间时间都用来养龟养鱼了还有摸鱼了。 本篇先讲我是如何将influxdb数据转移到clickhouse的&#xff0c;再记录influxdb的一些常用命令 1、influxdb数据转移到clickhouse influxdb不管是查询还是导出的数据格式都很麻烦…

快手内推(2024校招,社招)

校招 校招可以直接投递&#xff0c;如果想投递指定部门或岗位的可以私聊我。可以帮看简历和面试状态&#xff0c;加快推进。 内推码&#xff1a;vlxMTFNBS 专属内推链接&#xff1a;https://campus.kuaishou.cn/#/campus/jobs?codevlxMTFNBS 社招 社招内推私聊&#xff0c;可…

Ubuntu 安装 Gif 工具 -- Peek

Ubuntu 安装 Gif 工具 – Peek 一直想找一个 Ubuntu 下的录制 Gif 的工具&#xff0c;后来测试发现 Peek 非常舒服&#xff0c;推荐使用&#xff5e;&#xff5e;&#xff5e; 一、添加Peek的ppa源 sudo add-apt-repository ppa:peek-developers/stable二、更新源 sudo apt…

春秋云境:CVE-2022-24124(Casdoor api get-oraganizations SQL注入)

目录 一、题目&#xff1a; 二、进入题目&#xff1a; 1.官方POC&#xff1a; 2.SQL的分析&#xff1a; 2.1 POC: 2.2 burp爆破字符&#xff1a; 2.3 大佬的POC&#xff08;SQL查询&#xff09;&#xff1a; 一、题目&#xff1a; 题目介绍&#xff1a; Casdoor是开源的…

23.7.20 杭电暑期多校2部分题解

1001 - Alice Game 题目大意 有一个长度为 n n n 的怪物序列&#xff08; n n n 可能为 0 0 0&#xff09;&#xff0c;给定一个 k k k&#xff0c;轮到某人回合时会有两种操作&#xff1a; 选择一个连续的序列&#xff0c;它的长度小于等于 k k k&#xff0c;将其全部删…

【转载】elasticsearch 倒排索引原理

由于整型数字 integer 可以被高效压缩的特质&#xff0c;integer 是最适合放在 postings list 作为文档的唯一标识的&#xff0c;ES 会对这些存入的文档进行处理&#xff0c;转化成一个唯一的整型 id&#xff08;这个id是document的id&#xff09;。 再说下这个 id 的范围&…

VS Code 使用 autoDocstring 插件快速生成 python 函数的文档字符串

VS Code 使用 autoDocstring 插件快速生成 python 函数的文档字符串 支持的文档类型用法扩展设置此扩展提供以下设置&#xff1a;设置方式自定义文档字符串模板附加部分 支持的文档类型 googlesphinxnumpydocBlockrone-line-sphinxpep257 用法 光标必须位于定义正下方的行上…

【strapi系列】strapi在postman中如何调试public和认证用户Authorization的接口

文章目录 一、public用户的调试二、认证用户的调试1、新建一个用户&#xff0c;用于获得token2、调用获取token的接口来获得token3、请求时携带token调用权限接口 三、参考链接 一、public用户的调试 对于public用户&#xff0c;如果是get请求&#xff0c;即使不在postman&…

【git学习】

版本控制 版本控制&#xff08;Revision control&#xff09;是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史&#xff0c;方便查看更改历史记录&#xff0c;备份以便恢复以前的版本的软件工程技术。 实现跨区域多人协同开发追踪和记载一个或者多个文件…