首頁 >web前端 >Vue.js >vue.js怎麼隱藏input file

vue.js怎麼隱藏input file

王林
王林原創
2021-10-11 14:44:243085瀏覽

vue.js隱藏input file的方法:1、將input的z-index設定為1以上的數字並覆蓋到需要點擊的內容上;2、將input的樣式opacity設定為0(即為透明度為0);3、透過綁定在input上的change事件觸發即可。

vue.js怎麼隱藏input file

本文操作環境: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(&#39;click&#39;)) }
getFile(){ console.log("成功"); }

推薦學習:php培訓

#

以上是vue.js怎麼隱藏input file的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn