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实现的分页函数
Feb 07 Javascript
Javascript优化技巧(文件瘦身篇)
Jan 28 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
Feb 27 Javascript
js实现仿百度瀑布流的方法
Feb 05 Javascript
JavaScript中模拟实现jsonp
Jun 19 Javascript
JavaScript笔记之数据属性和存储器属性
Mar 31 Javascript
webpack入门+react环境配置
Feb 08 Javascript
看看“疫苗查询”小程序有温度的代码
Jul 31 Javascript
Vuex 在Vue 组件中获得Vuex 状态state的方法
Aug 27 Javascript
vue-router 前端路由之路由传值的方式详解
Apr 30 Javascript
微信小程序网络请求实现过程解析
Nov 06 Javascript
OpenLayers3实现测量功能
Sep 25 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中__FILE__、dirname与basename用法实例分析
2014/12/01 PHP
php实现的mongoDB单例模式操作类
2018/01/20 PHP
laravel-admin的多级联动方法
2019/09/30 PHP
用JavaScript编写COM组件的步骤
2009/03/17 Javascript
理解Javascript_10_对象模型
2010/10/16 Javascript
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
JavaScript Scoping and Hoisting 翻译
2012/07/03 Javascript
JS中的substring和substr函数的区别说明
2013/05/07 Javascript
jQuery中html()方法用法实例
2014/12/25 Javascript
编写自己的jQuery提示框(Tip)插件
2015/02/05 Javascript
jQuery下拉菜单的实现代码
2016/11/03 Javascript
BootStrap注意事项小结(五)表单
2017/03/10 Javascript
Bootstrap模态框插件使用详解
2017/05/11 Javascript
vue中echarts3.0自适应的方法
2018/02/26 Javascript
js使用Promise实现简单的Ajax缓存
2018/11/14 Javascript
layui实现数据分页功能
2019/07/27 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
python线程、进程和协程详解
2016/07/19 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
Python devel安装失败问题解决方案
2020/06/09 Python
使用python-cv2实现视频的分解与合成的示例代码
2020/10/26 Python
使用CSS3制作倾斜导航条和毛玻璃效果
2017/09/12 HTML / CSS
解决Firefox下不支持outerHTML问题代码分享
2014/06/04 HTML / CSS
戴森香港官方网站:Dyson香港
2021/02/11 全球购物
小学生手册家长评语
2014/04/16 职场文书
投标人廉洁自律承诺书
2014/05/26 职场文书
学校百日安全生产活动总结
2014/07/05 职场文书
运动会主持词大全
2015/07/02 职场文书
《七月的天山》教学反思
2016/02/19 职场文书
大学生,三分钟即兴演讲稿
2019/07/22 职场文书
Python生成九宫格图片的示例代码
2021/04/14 Python
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android
“鬼灭之刃”热度不减,其成功背后的原因是什么?
2022/03/22 日漫