易暖堂,梵克雅宝官网,实习心得体会范文
1、使用input透明覆盖法
将input的z-index设置为1以上的数字并覆盖到需点击的内容上,将input的样式opacity设置为0(即为透明度为0),这样通过绑定在input上的change事件触发 ----推荐
<p class="uploadimg"> <input type="file" @change="picupload($event)" accept="image/*" /> </p>
.uploadimg { width: 100%; height: 1.46rem; position: relative; input { width: 1.46rem; height: 100%; z-index: 1; opacity: 0; position: absolute; cursor: pointer; } }
2、使用vue的ref参数直接操作input的点击事件触发
<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> choiceimg(){ this.$refs.filelem.dispatchevent(new mouseevent('click')) }, getfile(){ console.log("成功"); }
3、使用html的lable机制触发input事件
<label for="upfile" class="ptitleright" @click="idrecognition"> <span>身份证识别</span> <i class="iconfont"></i> <input ref="filelem" type="file" accept="image/*" id="upfile" name="upfile" style="display: none;" @change="uploadpic"> </label> idrecognition: function() {}, //触发事件 uploadpic: function() { console.log('dsa'); }
lable上的for属性绑定input的id,即可通过触发lable上的点击事件触发input的change事件 ----推荐
总结
以上所述是小编给大家介绍的vue触发隐藏input file的方法实例详解,希望对大家有所帮助
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
详解element上传组件before-remove钩子问题解决
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
网友评论