vue使用element-ui上传多张图片、回显,编辑、删除、上传数量以及上传按钮的隐藏

这篇具有很好参考价值的文章主要介绍了vue使用element-ui上传多张图片、回显,编辑、删除、上传数量以及上传按钮的隐藏。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、显示界面部分:

 <el-upload
          ref="upload"
          action=""
          :auto-upload="false"       //禁止自动上传
          :file-list="fileList"    //上传的文件列表
          :limit="limit"  // 最大允许上传个数
          :class="{hide:hideUpload}"   //上传按钮
          :on-change="beforeAvatarUpload"  // 文件状态改变时的方法
          :on-exceed="masterFileMax"  //文件超出个数限制时的方法
          :on-preview="handlePictureCardPreview"  //点击文件列表中已上传的文件时的方法
          :on-remove="handleRemove"   //文件列表移除文件时的方法
          list-type="picture-card"  //文件列表的类型
          multiple  //	是否支持多选文件
        >
          <i class="el-icon-plus"></i>
          <div slot="tip" class="form-tips" style="margin-top: 10px" >
            <el-tag  type="warning">最多上传5张,最大上传大小2MB</el-tag>
          </div>
        </el-upload>
        <el-dialog 
        	:visible.sync="dialogVisibles" 
        	append-to-body 
        	class="dialog1" 
        	width="40%">
          <img :src="dialogImageUrl" alt="" class="ims">
        </el-dialog>

二、data部分:

  data() {
    return {
      dialogImageUrl: '',   //浏览图片的路径
      fileList: [],    //图片列表
      imgs: [],  
      limit: 5,  //上传图片的数量
      dialogVisibles: false,  //控制浏览图片的对话框显示隐藏
      hideUpload: false,   // 判断是否隐藏上传按钮
      isAdd: true,   //判断对应的操作
  },

三、methods部分:

//上传图片,添加到图片列表
 beforeAvatarUpload(file, fileList) {
      const isLt2M = file.size / 1024 / 1024 < 2
      if (!isLt2M) {
        this.$message.error('上传头像图片大小不能超过 2MB!')
        return
      }
      //图片转为base64位
      let _this = this
      const reader = new FileReader()
      reader.readAsDataURL(file.raw)
      reader.onload = function(e) {
        undefined
        _this.imgs.push(this.result)
      }
      //添加
      this.construction.images = this.imgs
      //编辑
      this.construction.addImages = this.imgs
      //达到限制上传图片,隐藏上传按钮
      this.hideUpload = fileList.length >= this.limit;
    },
    //删除图片,更新图片列表
    handleRemove(file, fileList) {
      //达到限制上传图片,隐藏上传按钮
      this.hideUpload = fileList.length >= this.limit;
      //isAdd用于判断是否对应的操作  true:添加   false:编辑
      if (this.isAdd) {
        const reader = new FileReader()
        reader.readAsDataURL(file.raw)
        let _this = this
        reader.onload = function(e) {
          undefined
          for (const i in _this.construction.images) {
            if (_this.construction.images[i] === this.result) {
              _this.construction.images.splice(i, 1)
            }
          }
        }
      } else {
        if (file.raw) {
          const reader = new FileReader()
          reader.readAsDataURL(file.raw)
          let _this = this
          reader.onload = function(e) {
            undefined
            for (const j in _this.construction.addImages) {
              if (_this.construction.addImages[j] === this.result) {
                _this.construction.addImages.splice(j, 1)
              }
            }
          }
        } else {
          //回显图片,执行删除并添加到图片列表(后端服务器接受的图片列表中)
          this.construction.delImages.push(file.url)
        }
      }

    },
    //图片浏览
    handlePictureCardPreview(file) {
      this.dialogImageUrl = file.url
      this.dialogVisibles = true
    },
    //限制多少张图片
    masterFileMax(files, fileList) {
      this.$message.warning(`请最多上传 ${this.limit} 个文件。`)
    },

持续更新中文章来源地址https://www.toymoban.com/news/detail-616204.html

到了这里,关于vue使用element-ui上传多张图片、回显,编辑、删除、上传数量以及上传按钮的隐藏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue如何让element-ui的table列表中展示多张图片(可放大)的效果?

      效果图基本就是这样,如果需要此效果的小伙伴可以往下看 ; 1、先简单的复述一下原理           因为一个table表格里面要存放一张或多张图片,所以前端接受到图片相关的数据肯定是个数组类型的,所以此时就要用到 v-for=\\\"(item,index) in xxx\\\" :key=\\\"index\\\" 的方法来实现,说

    2024年02月11日
    浏览(37)
  • 用element-ui中的up-load组件实现简单的图片上传到本地然后回显(从前端到后端)

    一:前端样式以及效果:  前端样式代码如下: 二:后端Controller层  这里的处理逻辑是将前端传递进来的图片交给FileUtil处理,接下来看FileUtil的代码: 首先获取传递进来图片的文件名后缀 然后用UUID将其拼接得到一个新的名字 将图片存入到本地的文件夹下面 接下来返回路

    2024年02月03日
    浏览(35)
  • Vue+element ui上传图片和视频并回显,点击放大查看和播放

    1.上传图片 html代码: js代码:

    2024年02月16日
    浏览(40)
  • Element-ui配合vue上传图片

    这里为大家介绍饿了吗ui配合vue封装一个图片上传的组件  首先大家先看一个饿了吗ui文档的各个钩子函数的介绍! on-preview这个属性我们一般用来预览图片时使用 on-remove这个属性时文件被删除时执行 一般我们在这里面进行数组的筛选 让它保证为最新数组 on-change当文件被选择

    2024年02月09日
    浏览(58)
  • 使用element-ui+vue 做修改功能时,数据不回显问题

    后端数据已经做好了,页面发送数据获取id给后端,查询数据后返回给前段页面。res.data.data数据是可以打印出来的,但是这个_this.from一直打印出来的是undefined,找了很多方式都没有办法把值附上去。请问有什么办法吗 这个是表单页面

    2024年02月16日
    浏览(31)
  • 基于vue element-ui 封装上传图片组件 功能:上传,删除,预览,上传图片水印,拖拽排序,上传进度条等

    我们在开发后台时肯定避免不了上传图片的功能 例如: 上传图片回显 上传完成 : 预览查看 , 删除等 如果是图片列表,还可能让你拖动图片排序 有的后台项目可能要给图片添加水印,添加标记 有的后台可能要炫酷一点 添加进度条功能 现在我们要完成上面的一系列功能,这里我

    2024年02月16日
    浏览(47)
  • element-ui upload图片上传组件使用

    图片上传前端收集 数据 再调用接口发送到后端 组件标签内的参数: 参数 说明 类型 可选值 默认值 action 必选参数,上传的地址 string — — headers 设置上传的请求头部 object — — multiple 是否支持多选文件 boolean — — data 上传时附带的额外参数 object — — name 上传的文件字段

    2023年04月19日
    浏览(31)
  • vue脚手架 element-ui spring boot 实现图片上传阿里云 并保存到数据库

    注册登陆就不讲了,登陆进去后如下操作,另外如果服务器进行了拦截过滤的操作的话记得放行。 1. 进入对象存储OSS 创建一个新的Bucket 随后点击新建的bucket 2.去访问RAM 前往RAM控制台 3.去创建用户  4.创建密匙 5.随后返回RAM控制台  给用户增加权限,文件上传所需权限,需要带

    2024年02月07日
    浏览(67)
  • 【element-UI】el-upload本地上传图片,点击表单提交和一起上传,使用formdata对象上传

    需求效果如下图: 因为后端要求图片需要和其他参数一起提交,使用formdata对象携带参数,通过设置el-upload中action参数值为#,以及auto-upload(是否在选取文件后立即进行上传)为false 接口api

    2024年02月12日
    浏览(32)
  • Element-ui 上传图片前压缩图片

    上传前把图片大小进行一个压缩在进行上传。 文章目录 需求:项目当中上传图片的需求点肯定有很多,再上传之后,如果图片很大的话,在加载的时候就会很慢。最近发现系统首次加载越来越慢,就开始思考怎么能降低这个加载时间,由于首页图片很多,所以图片的大小就

    2024年02月06日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包