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 相关文章推荐
通过复制Table生成word和excel的javascript代码
Jan 20 Javascript
javascript实现简单的分页特效
Aug 12 Javascript
js如何判断输入字符串长度
Dec 16 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
Aug 04 Javascript
Angularjs实现搜索关键字高亮显示效果
Jan 17 Javascript
jQuery使用方法
Feb 04 Javascript
Vuex简单入门
Apr 19 Javascript
jquery实现图片上传前本地预览
Apr 28 jQuery
详解Vue文档中几个易忽视部分的剖析
Mar 24 Javascript
详解vue中组件参数
Jul 09 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
Sep 19 Javascript
Vue源码探究之状态初始化
Nov 14 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 用sock技术发送邮件的函数
2007/07/21 PHP
php实现rc4加密算法代码
2012/04/25 PHP
PHP fopen 读取带中文URL地址的一点见解
2012/09/25 PHP
PHP获取当前日期及本周一是几月几号的方法
2017/03/28 PHP
js实现两个值相加alert出来精确到指定位
2013/09/25 Javascript
JS对HTML标签select的获取、添加、删除操作
2013/10/17 Javascript
js调试系列 断点与动态调试[基础篇]
2014/06/18 Javascript
JavaScript中Math.SQRT2属性的使用详解
2015/06/14 Javascript
jQuery实现的图文高亮滚动切换特效实例
2015/08/10 Javascript
ionic实现可滑动的tab选项卡切换效果
2020/04/15 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
浅谈express 中间件机制及实现原理
2017/08/31 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
微信小程序image图片加载完成监听
2019/08/31 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
基于JavaScript的数据结构队列动画实现示例解析
2020/08/06 Javascript
TensorFlow入门使用 tf.train.Saver()保存模型
2018/04/24 Python
详解python函数的闭包问题(内部函数与外部函数详述)
2019/05/17 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
python画微信表情符的实例代码
2019/10/09 Python
Python利用全连接神经网络求解MNIST问题详解
2020/01/14 Python
python用TensorFlow做图像识别的实现
2020/04/21 Python
Python将二维列表list的数据输出(TXT,Excel)
2020/04/23 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
2020/10/09 Python
一款纯css3实现的响应式导航
2014/10/31 HTML / CSS
Elemis美国官网:英国的第一豪华护肤品牌
2018/03/15 全球购物
马来西亚在线购物:POPLOOK.com
2019/12/09 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
元旦晚会邀请函
2014/02/01 职场文书
《闻一多先生的说和做》教学反思
2014/04/28 职场文书
演讲稿开场白台词
2014/08/25 职场文书
给校长的建议书作文400字
2015/09/14 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
Python并发编程实例教程之线程的玩法
2021/06/20 Python
python实现会员管理系统
2022/03/18 Python