1 Auf meiner Seite gibt es ein verstecktes Eingabetyp-Dateielement. Dieses Element kann über das ref-Attribut abgerufen werden und heißt this.inputFile.
2 Auf der rechten Seite des Seitenkopfes befindet sich eine Schaltfläche, um das auszulösen this , fileInput.click()
3 Aber das Ergebnis ist, dass das Dateiauswahlfeld nicht angezeigt werden kann. Es ist wirklich kein Problem mit der Logik
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>
)
}
}Standard FileManage exportieren
贴具体代码啊,这样好难脑补