我有一个使用离子的应用程序。 我有一个打开文件浏览器的按钮:
HTML页面:
<input class="input-file" name="imgToUpload" id="imgToUpload" type="file"
#imgToUpload [(ngModel)]="message.file" (change)="onFileChange($event)" accept="image/gif, image/jpeg, image/png">
<div ion-button block large (click)="openFileBrowser($event)" style="background-color:#39D2B4;">
<ion-icon name="camera"></ion-icon>
</div>
在我的.ts文件中,我有方法openFileBrowser:
openFileBrowser(event:any){
event.preventDefault();
let element : HTMLElement = document.getElementById('imgToUpload') as HTMLElement;
element.click();}
在更新iOS 11.2.6之前,这个方法没有问题。 从iOS 11.2.6开始,click()没有被解雇。
有没有人遇到过这个问题? 我该如何解决? 感谢。
答案 0 :(得分:0)
我用这样的方式解决了,用div模拟了一个按钮:
<div class="fileUpload" ion-button>
<input class="upload" type="file" (change)="selectImagem($event)" multiple accept="image/*"/>
</div>
在css中,我隐藏了输入文件
.fileUpload {
position: relative;
overflow: hidden;
background-color: transparent;
color: #488aff;
box-shadow: none;
input.upload {
position: absolute;
top: 0;
right: 0;
margin: 0;
padding: 0;
font-size: 20px;
cursor: pointer;
opacity: 0;
filter: alpha(opacity=0);
}
}