1 在我的頁面中有一個隱藏的input type 類型的file元素,該元素透過ref屬性可以取得到,取名為this.inputFile
2 頁面頭部右邊有一個按鈕,點擊該按鈕,觸發該this,fileInput.click()
3 但是結果卻無法彈出文件選擇框,真是的,這是什麼問題啊,邏輯沒問題啊尷尬
class FileManage extends Component{
constructor(props){
super(props);
this.onHandleBack = this.onHandleBack.bind(this);
this.showOperationSheet = this.showOperationSheet.bind(this);
}
onHandleBack(){
this.props.history.goBack();
}
showOperationSheet(){
console.log('点击上传');
if(this.fileInput){
console.log('进入判断');
//很神奇,必须有这行代码,才能调用图片选择,我也很无奈啊。
console.log(this.fileInput.click());
this.fileInput.click()
}
};
render(){
return (
<p>
<p onClick={this.showOperationSheet}>按钮</p>
<p style={{display:"none"}}>
<form action="" encType="multipart/form-data" method='POST' onSubmit={this._onSubmit}>
<input type="file" ref={(input)=>{this.fileInput = input}} onChange={this._onChange}/>
</form>
</p>
</p>
)
}
}
export default FileManage
貼具體代碼啊,這樣好難腦補