Vue触发input选取文件点击事件操作


Posted in Javascript onAugust 07, 2020

CSS

.upload-btn-box {
  margin-bottom: 10px;
  button {
    margin-right: 10px;
  }
  input[type=file] {
    display: none;
  }
}

HTML

<div class="upload-btn-box">
<Button @click="choiceImg" icon="ios-cloud-upload-outline" type="primary">点击上传</Button>
  <input ref="filElem" type="file" class="upload-file" @change="getFile">
</div>

Script

choiceImg(){
  this.$refs.filElem.dispatchEvent(new MouseEvent('click')) 
},
getFile(){
      var that = this;
      const inputFile = this.$refs.filElem.files[0];
      if(inputFile){
        if(inputFile.type !== 'image/jpeg' && inputFile.type !== 'image/png' && inputFile.type !== 'image/gif'){
          alert('不是有效的图片文件!');
          return;
        }
        this.imgInfo = Object.assign({}, this.imgInfo, {
          name: inputFile.name,
          size: inputFile.size,
          lastModifiedDate: inputFile.lastModifiedDate.toLocaleString()
        })
        const reader = new FileReader();
        reader.readAsDataURL(inputFile);
        reader.onload = function (e) {
          that.imgSrc = this.result;
        }
      } else {
        return;
      }
    }

补充知识: vue下打包时几个文件选择文件打包一起 并做懒加载

直接上代码

const DeviceManage = r => require.ensure([], () => r(require(deviceManagePath + 'main/DeviceManage')), 'g-DeviceManage');
const SingleDeviceSet = r => require.ensure([], () => r(require(deviceManagePath + 'deviceSet/SingleDeviceSet')), 'g-DeviceManage');
const ModifyNo = r => require.ensure([], () => r(require(deviceManagePath + 'modifyNo/ModifyNo')), 'g-DeviceManage');
const PricePerTime = r => require.ensure([], () => r(require(deviceManagePath + 'pricePerTime/PricePerTime')), 'g-DeviceManage');
const SetParams = r => require.ensure([], () => r(require(deviceManagePath + 'setParams/SetParams')), 'g-DeviceManage');
const ShowDevicePrice = r => require.ensure([], () => r(require(deviceManagePath + 'showDevicePrice/ShowDevicePrice')), 'g-DeviceManage');
const parameterSetting = r => require.ensure([], () => r(require(deviceManagePath + 'parameterSetting/parameterSetting')), 'g-DeviceManage');
const SetParams3G = r => require.ensure([], () => r(require(deviceManagePath + 'setParams3G/SetParams3G')), 'g-Device3Gparams');

这么写 所有g-DeviceManage的文件会被打包在一起

以上这篇Vue触发input选取文件点击事件操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript入门教程(2) JS基础知识
Jan 31 Javascript
JQuery select控件的相关操作实现代码
Sep 14 Javascript
JavaScript与DOM组合动态创建表格实例
Dec 23 Javascript
JS弹出层单纯的绝对定位居中示例代码
Feb 18 Javascript
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
Jan 19 Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
Aug 26 Javascript
Yarn的安装与使用详细介绍
Oct 25 Javascript
Angular 2.0+ 的数据绑定的实现示例
Aug 09 Javascript
详解vue-router数据加载与缓存使用总结
Oct 29 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
Sep 10 Javascript
Vue filter 过滤当前时间 实现实时更新效果
Dec 20 Javascript
JavaScript继承的三种方法实例
May 12 Javascript
vue+element获取el-table某行的下标,根据下标操作数组对象方式
Aug 07 #Javascript
vue.js click点击事件获取当前元素对象的操作
Aug 07 #Javascript
Vue跨域请求问题解决方案过程解析
Aug 07 #Javascript
JQuery通过键盘控制键盘按下与松开触发事件
Aug 07 #jQuery
vue递归获取父元素的元素实例
Aug 07 #Javascript
在vue中使用Base64转码的案例
Aug 07 #Javascript
JavaScript代码模拟鼠标自动点击事件示例
Aug 07 #Javascript
You might like
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
在javascript中关于节点内容加强
2013/04/11 Javascript
extjs 分页使用jsp传递数据示例
2014/07/29 Javascript
JavaScript设计模式之单件模式介绍
2014/12/28 Javascript
javascript获取select值的方法分析
2015/07/02 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
JavaScript暂停和继续定时器的实现方法
2016/07/18 Javascript
WebSocket+node.js创建即时通信的Web聊天服务器
2016/08/08 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
微信小程序 数据封装,参数传值等经验分享
2017/01/09 Javascript
微信小程序 常用工具类详解及实例
2017/02/15 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
2017/05/10 Javascript
使用vue-cli编写vue插件的方法
2018/02/26 Javascript
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
JavaScript设计模式之原型模式分析【ES5与ES6】
2018/07/26 Javascript
Bootstrap Table列宽拖动的方法
2018/08/15 Javascript
浅谈webpack4.x 入门(一篇足矣)
2018/09/05 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
2019/03/28 Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
2019/04/22 Javascript
15 分钟掌握vue-next响应式原理
2019/10/13 Javascript
用python写asp详细讲解
2013/12/16 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
Python实现优先级队列结构的方法详解
2016/06/02 Python
Python正则表达式使用经典实例
2016/06/21 Python
小白如何入门Python? 制作一个网站为例
2018/03/06 Python
对python中使用requests模块参数编码的不同处理方法
2018/05/18 Python
python 为什么说eval要慎用
2019/03/26 Python
浅谈python 中类属性共享的问题
2019/07/02 Python
Django项目中实现使用qq第三方登录功能
2019/08/13 Python
Django连接数据库并实现读写分离过程解析
2019/11/13 Python
Python如何在windows环境安装pip及rarfile
2020/06/15 Python
python实现人性化显示金额数字实例详解
2020/09/25 Python
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
CSS3区域模块region相关编写示例
2015/08/28 HTML / CSS
法制宣传口号
2014/06/16 职场文书