温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

vue.js如何隐藏input file

发布时间:2021-10-11 15:16:35 来源:亿速云 阅读:762 作者:小新 栏目:编程语言

这篇文章主要为大家展示了“vue.js如何隐藏input file”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue.js如何隐藏input file”这篇文章吧。

vue.js隐藏input file的方法:1、将input的z-index设置为1以上的数字并覆盖到需要点击的内容上;2、将input的样式opacity设置为0(即为透明度为0);3、通过绑定在input上的change事件触发即可。

本文操作环境:windows10系统、vue.js 2.9、thinkpad t480电脑。

vue隐藏input file一般有三种方式,一种是使用HTML的lable机制触发input事件,一种是使用使用input透明覆盖,还有一种是使用vue的ref参数直接操作input的点击事件触发来实现。那么我们该如何使用这三种方式来实现隐藏input file呢?下面我们就来一起看看这三种方法。

1、使用HTML的lable机制触发input事件

lable上的for属性绑定input的id,即可通过触发lable上的点击事件触发input的change事件

<el-link type="primary">
  <label for="recordExcel">上传文件|</label>
</el-link>
<form id="recordExcelForm" style="display:none">
   <input type="file" id="recordExcel" name="recordExcel" @change="fileChange" />
</form>fileChange(){};//

2、使用使用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;
  }
}

3、使用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" style="display:none"> 
</div>  
choiceImg(){ this.$refs.filElem.dispatchEvent(new MouseEvent('click')) }
getFile(){ console.log("成功"); }

以上是“vue.js如何隐藏input file”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI