vue图片上传本地预览组件使用详解


Posted in Javascript onFebruary 20, 2019

最近项目一直在使用vue,以前只是用vue做过一些简单的demo对数据进行增删改,并没有用于实际开发项目。今天就想了解一下如何用vue实现常见的图片上传前本地预览效果。

效果预览:

vue图片上传本地预览组件使用详解

<template>
 <div class="image-view">
 <div class="addbox">
  <input type="file" @change="getImgBase()">
  <div class="addbtn">+</div>
 </div>
 <div class="view">
  <div class="item" v-for="(item, index) in imgBase64">
  <span class="cancel-btn" @click="delImg(index)">x</span>
  <img :src="item">
  </div>
 </div>
 </div>
</template>
<script>
 export default {
 name: 'imageView',
 data (){
  return {
  imgBase64:[] //存储img base64的值将值传给后端处理
  }
 },
 methods: {
  //获取图片base64实现预览
  getImgBase(){
  var _this = this;
  var event = event || window.event;
  var file = event.target.files[0];
  var reader = new FileReader(); 
  //转base64
  reader.onload = function(e) {
   _this.imgBase64.push(e.target.result);
  }
  reader.readAsDataURL(file);
  },
  //删除图片
  delImg(index){
  this.imgBase64.splice(index,1);
  }
 }
 }
</script>
<style scoped>
 *{margin:0 auto;padding:0;font-family:"微软雅黑";}
 .clearboth::after{
 content:"";
 display:block;
 clear:both;
 }
 .image-view{
 width:400px;
 height:300px;
 margin:50px auto;
 }
 .image-view .addbox{
 float:left;
 position:relative;
 height:100px;
 width:100px;
 margin-bottom:20px;
 text-align:center;
 }
 .image-view .addbox input{
 position:absolute;
 left:0;
 height:100px;
 width:100px;
 opacity:0;
 }
 .image-view .addbox .addbtn{
 float:left;
 height:100px;
 width:100px;
 line-height:100px;
 color:#fff;
 font-size:40px;
 background:#ccc;
 border-radius:10px;
 }
 .image-view .item {
 position:relative;
 float:left;
 height:100px;
 width:100px;
 margin:10px 10px 0 0;
 }
 .image-view .item .cancel-btn{
 position:absolute;
 right:0;
 top:0;
 display:block;
 width:20px;
 height:20px;
 color:#fff;
 line-height:20px;
 text-align:center;
 background:red;
 border-radius:10px;
 cursor:pointer;
 }
 .image-view .item img{
 width:100%;
 height:100%;
 }
 .image-view .view{
 clear:both;
 }
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
如何让动态插入的javascript脚本代码跑起来。
Jan 09 Javascript
Prototype String对象 学习
Jul 19 Javascript
jquery 常用操作方法
Jan 28 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
Apr 04 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
Mar 30 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
Feb 05 Javascript
webpack 2.x配置reactjs基本开发环境详解
Aug 08 Javascript
微信小程序 Animation实现图片旋转动画示例
Aug 22 Javascript
基于vue的验证码组件的示例代码
Jan 22 Javascript
Vue 实现前端权限控制的示例代码
Jul 09 Javascript
基于vue hash模式微信分享#号的解决
Sep 07 Javascript
微信小程序实现拼图小游戏
Oct 22 Javascript
Vue 后台管理类项目兼容IE9+的方法示例
Feb 20 #Javascript
浅谈小程序 setData学问多
Feb 20 #Javascript
9102年webpack4搭建vue项目的方法步骤
Feb 20 #Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
Feb 20 #Javascript
解决element ui select下拉框不回显数据问题的解决
Feb 20 #Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
Feb 20 #Javascript
Vue.js特性Scoped Slots的浅析
Feb 20 #Javascript
You might like
2个比较经典的PHP加密解密函数分享
2014/07/01 PHP
PHP上传图片类显示缩略图功能
2016/06/30 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
2019/03/30 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
node.js中的fs.link方法使用说明
2014/12/15 Javascript
JavaScript实现表格点击排序的方法
2015/05/11 Javascript
js实现跨域的方法实例详解
2015/06/24 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
关于JS中的apply,call,bind的深入解析
2016/04/05 Javascript
JavaScript中instanceof运算符的使用示例
2016/06/08 Javascript
AngularJS 路由和模板实例及路由地址简化方法(必看)
2016/06/24 Javascript
NodeJS整合银联网关支付(DEMO)
2016/11/09 NodeJs
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
vue移动端实现红包雨效果
2020/06/23 Javascript
微信小程序如何修改本地缓存key中单个数据的详解
2019/04/26 Javascript
深入理解Python中的元类(metaclass)
2015/02/14 Python
python中引用与复制用法实例分析
2015/06/04 Python
详解使用python的logging模块在stdout输出的两种方法
2017/05/17 Python
Python下使用Scrapy爬取网页内容的实例
2018/05/21 Python
python按时间排序目录下的文件实现方法
2018/10/17 Python
Python笔记之代理模式
2019/11/20 Python
使用python 的matplotlib 画轨道实例
2020/01/19 Python
python中取绝对值简单方法总结
2020/07/24 Python
HTML5新特性之用SVG绘制微信logo
2016/02/03 HTML / CSS
科级干部考察材料
2014/02/15 职场文书
大学军训感言800字
2014/02/27 职场文书
安全演讲稿开场白
2014/08/25 职场文书
农业生产宣传标语
2014/10/08 职场文书
四风批评与自我批评范文
2014/10/14 职场文书
教师师德表现自我评价
2015/03/05 职场文书
2015年财务经理工作总结
2015/05/13 职场文书
Python基础之数据结构详解
2021/04/28 Python
MySQL REVOKE实现删除用户权限
2021/06/18 MySQL
一文带你探究MySQL中的NULL
2021/11/11 MySQL
springboot中的pom文件 project报错问题
2022/01/18 Java/Android