Vue+UpLoad实现上传预览和删除图片的实践

 更新时间:2022年02月20日 15:08:22   作者:仰.  
本文主要介绍了Vue+UpLoad实现上传预览和删除图片的实践,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

1、用vue+Element完成一个图片上传、点图预览、加删除功能,如图:

2.首先我们再组件中引入这一段代码,每个属性的使用也都放在这里了:

<el-upload
  class="upload-demo"
  action=""//引号里面填要上传的图片地址,用接口的话是公共的接口地址拼接一个图片的接口
  :on-preview="handlePreview"//图片已经上传完成时点击触发(钩子函数)
  :on-remove="handleRemove"//点击右上角X号触发的钩子函数
  :on-success="handleSuccess"//上传成功的一个钩子函数
  :file-list="fileList"//上传的文件列表
  list-type="picture"//上传的文件类型,有三个参数,分别是text/picture/picture-card,分别是文本类型、图片类型、卡片类型。个人推荐选第二个较好
  :headers="headerObj"//图片上传的时候需要请求头部,我们可以定义一个变量,设置获取token信息,如下代码:
>
  <el-button size="small" type="primary">点击上传</el-button>
  <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>
 
//存放token的变量
 headerObj: {
        Authorization: window.localStorage.getItem("token"),
      },

3.接下来就是它的on-preview属性,我们可以用它来实现图片预览

先要设一个图片预览的弹框:

  <el-dialog
      title="图片预览"//上方的标题
      :visible.sync="previewDialogVisible"//控制显示隐藏的变量
      width="50%"//弹框的宽度占比
    >
        //img标签中的src属性接受的是点击预览时传递的图片地址
      <img :src="picPreviewPath" alt="" class="previewImg" />
    </el-dialog>

再进行逻辑操作 

  // 处理图片预览
    handlePreview(file) {//会得到一个参数,这是返回的图片的一些信息,主要的是图片的url
      this.picPreviewPath = file.response.data.url;//把url参数赋值给这个变量
      this.previewDialogVisible = true;//再让弹框显示
    },

3.然后来实现点击删除图片,这时候用到了on-remove这个属性 

 // 处理移除图片的操作
    handleRemove(file) {
      // 1.获取将要删除图片的临时路径
      const filePath = file.response.data.tmp_path;
      // 2.从pics数组中,找到图片对应的索引值
      const i = this.addForm.pics.findIndex((x) => x.pic === filePath);
      // 3.调用splice方法,移除图片信息
      this.addForm.pics.splice(i, 1);
    },

 4.前面的功能都实现了的话,到这时候你已经成功了一半了,若项目需要提交添加的图片,则用到了它的on-success属性。

 // 监听图片上传成功事件
    handleSuccess(response) {
      // 1.拼接得到一个图片信息对象 临时路径
      const picInfo = { pic: response.data.tmp_path };
      // 2.将图片信息对象,push到pics数组中
      this.addForm.pics.push(picInfo);
    },

5.文章小提示: 

1.别忘了给需要设置成动态属性的属性加上v-bind

2.在data中注册需要绑定的变量 

到此这篇关于Vue+UpLoad实现上传预览和删除图片的文章就介绍到这了,更多相关Vue UpLoad 上传预览和删除图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue单页应用中如何使用jquery的方法示例

    vue单页应用中如何使用jquery的方法示例

    最近在工作中遇到的一个需求,需要在vue-cli建立的应用中引入jquery的方式,通过查找相关的资料最终解决了,所以这篇文章主要给大家介绍了关于在vue单页应用中如何使用jquery的方法示例,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • 报错[vuex] unknown action type: userLogin问题及解决

    报错[vuex] unknown action type: userLogin问

    这篇文章主要介绍了报错[vuex] unknown action type: userLogin问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • vue中的@click.native 原生点击事件

    vue中的@click.native 原生点击事件

    这篇文章主要介绍了vue中的@click.native 原生点击事件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • vue打开子组件弹窗都刷新功能的实现

    vue打开子组件弹窗都刷新功能的实现

    这篇文章主要介绍了vue打开子组件弹窗都刷新功能的实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Vue computed计算属性的使用方法

    Vue computed计算属性的使用方法

    这篇文章主要为大家详细介绍了Vue computed计算属性的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 关于element同时使用Drawer和Dialog出现多个遮罩问题

    关于element同时使用Drawer和Dialog出现多个遮罩问题

    这篇文章主要介绍了关于element同时使用Drawer和Dialog出现多个遮罩问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • vue3使用echarts并封装echarts组件方式

    vue3使用echarts并封装echarts组件方式

    这篇文章主要介绍了vue3使用echarts并封装echarts组件方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • vue中keep-alive组件的用法示例

    vue中keep-alive组件的用法示例

    众所周知keep-alive是Vue提供的一个抽象组件,主要是用来对组件进行缓存,从而做到节省性能,这篇文章主要给大家介绍了关于vue中keep-alive组件用法的相关资料,需要的朋友可以参考下
    2021-05-05
  • Vue实现验证码功能

    Vue实现验证码功能

    这篇文章主要为大家详细介绍了Vue实现验证码功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • 详解​Vue虚拟DOM如何提高前端开发效率

    详解​Vue虚拟DOM如何提高前端开发效率

    这篇文章主要为大家介绍了详解​Vue虚拟DOM如何提高前端开发效率,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12

最新评论