vue 仿微信朋友圈9张图上传功能
项目需求要求用户上传商品的时候可以一次性上传9张图,多余9张提示‘只能上传9张图’,并且每张图右上角有个删除按钮,图片也可以点击放大。
出来的效果图如下:


话不多说,上代码:
<el-form-item label="商品清单/设计图纸:">
<div class="showImg">
<ul>
<li v-for="(item,index) in showImgsrc" :key="index" style="position: relative">
<img :src=item alt="">
<span style=" position: absolute;
top: -5px;
right: -5px;
background: rgb(223, 6, 21);
color: rgb(255, 255, 255);
text-align: center;
line-height: 20px;
font-size: 12px;
width: 20px;
height: 20px;
cursor: pointer;
border-radius: 30px;" @click="clearImg(index)">X</span>
</li>
<li v-if="showImgsrc.length<9">
<div class="uploadImgBtn" id="uploadImgBtn" style="text-align: center">
<span style="display:inline-block;margin:30px auto;font-size: 30px;color: #e5e5e5">
<img src="@/assets/images/addImg.png" alt="">
</span>
<input type="file" @change="uploadImg($event)" class="uploadImg" multiple>
</div>
<span style="font-size: 12px;position: absolute">已上传({{showImgsrc.length}}/9)</span>
</li>
</ul>
</div>
</el-form-item>
方法如下:
uploadImg(e){
let that=this;
let imgFiles=e.target.files;
console.log(e.target.files.length);
if(e.target.files.length+that.showImgsrc.length>=10){
this.showDialog=true;
this.contentText='您最多只能上传9张图片,请重新上传!'
}else{
for( var i = 0 ; i < imgFiles.length ; i++ ){
var fr = new FileReader();
fr.onload = function(e){
that.showImgsrc.push(this.result);
}
fr.readAsDataURL(imgFiles[i]);//读取文件
}
}
}
删除图片:
clearImg(index){
this.showImgsrc.splice(index,1);
},
功能逻辑很简单:就是声明一个空数组showImgSrc,当用户当张图上传的时候,循环图片然后push到showImgSrc空数组里面。最后ul li九宫格显示showImgSrc里的图片。
vue 仿微信朋友圈9张图上传功能的更多相关文章
- Android 仿微信朋友圈拍小视频上传到服务器
这个接上一个写的实现拍小视频和传到服务器的 界面是这个样子滴. 我也知不知道怎么给图片搞小一点o(╯□╰)o 布局文件是这样的[认真脸] <?xml version="1.0&quo ...
- PHP GD库---之微信朋友圈9张图
$item_pic = "img/item.jpg"; list($width, $height) = getimagesize($item_pic); $item_pic = i ...
- Android 仿微信朋友圈发动态功能(相册图片多选)
代码分享 代码名称: 仿微信朋友圈发动态功能(相册图片多选) 代码描述: 仿微信朋友圈发动态功能(相册图片多选) 代码托管地址: http://www.apkbus.com/android-15276 ...
- Android 仿微信朋友圈添加图片
github地址(欢迎下载Demo) https://github.com/zhouxu88/WXCircleAddPic 老习惯,先上图,着急用的朋友,直接带走Demo,先拿来用吧,毕竟老板催的紧, ...
- Android NineGridLayout — 仿微信朋友圈和QQ空间的九宫格图片展示自定义控件
NineGridLayout 一个仿微信朋友圈和QQ空间的九宫格图片展示自定义控件. GitHub:https://github.com/HMY314/NineGridLayout 一.介绍 1.当只 ...
- 微信jssdk,实现多图上传的一点心得
一.首先在common.js里封装一个函数,在需要调用jsSDK的页面引用此方法即可实现微信的信息配置function signatureJSSDK() { var url = window.loca ...
- hdjs---laravel 框架使用hdjs 实现多图上传功能
hdjs---laravel 框架使用hdjs 实现多图上传功能 一.总结 一句话总结: [在网上找hdjs的使用实例]和[能遇见讲hdjs的视频],也是完全搞懂hdjs的不错的方式 1.hdjs中的 ...
- Android 高仿微信朋友圈动态, 支持双击手势放大并滑动查看图片。
转载请注明出处:http://blog.csdn.net/sk719887916/article/details/40348873 作者skay: 最近参与了开发一款旅行APP,其中包含实时聊天和动态 ...
- 如何利用Python网络爬虫抓取微信朋友圈的动态(上)
今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...
随机推荐
- 如何在linux终端创建文件
我们都知道可以用mkdir命令创建一个新的目录,但更多时候如果能直接创建一个文件(普通文件)会让人感觉更愉悦:这样就可以不用在去打开一个专门的创建文本文件的软件,然后还要设置文件名,保存路径那样的繁琐 ...
- 使用Eclipse开发Web项目(JSP)——简单登录、无sql
1.使用Eclipse开发Web项目(JSP) tomcat 2.在Eclipse中创建的Web项目: 浏览器可以直接访问webContent中的文件 例如http://localhost:8080/ ...
- Excel 2003 与 Excel 2007之间有什么不同?
如果您使用Excel 2003已有数年,您可能会意识到使用更多最新版本的Excel(2007.2010.2013或Excel 2016)的人员或组织的数量正在增加.您甚至可能收到了自己的Excel工作 ...
- September 15th, 2019. Sunday, Week 38th.
Break down these walls and come on in. 一路披荆斩棘,勇往直前. We are the only wall that stands in our way to s ...
- 使用layui框架 修改时部分参数未传给后台(查找原因)
采用的结构: <form class="layui-form reset-form" action="" id="formData"& ...
- javascript---简介的切换图片效果。
<!--切换图片--> <img src="img/9.gif" alt="" id="img"> <butt ...
- redis启动错误: Warning: no config file specified, using the default config. In order to specify a config
redis启动错误: Warning: no config file specified, using the default config. In order to specify a config ...
- [考试反思]1111csp-s模拟测试110:三思
题目名是为了照应3天的倒计时(我才不会说是因为我考场又摸鱼了) 在OJ上得到了295的好成绩,但是本地评测没有O2掉了10分. 总体来说还可以.T1全场切,T2半场切,T3纯暴力不卡常都有95... ...
- Python 变量与运算符
变量 基本概念: 1. 变量,名字,数据的唯一标识2.变量命名: 字母.数字.下划线: 不能以数字开头: 区分大小写: 不能使用保留字和关键字: 命名要有意义:(多个单词时,推荐使用下划线连接) 3. ...
- Vue小练习 03
""" 1.有以下广告数据(实际数据命名可以略做调整) ad_data = { tv: [ {img: 'img/tv/tv1.jpg', title: 'tv1'}, ...