1
私はアプリケーションにDropzoneを実装しようとしていますが、複数の入力としてドロップされている場合はプレビューできません。私はそれらを1つずつ追加するとうまくいきますが、複数を選択すると、最初のものだけがレンダリングされます。react-dropzoneを使用して複数のドロップをプレビューする
は、これは私のonDrop機能
onDropGeneral = (currentGeneralPhoto) => {
let index;
for (index = 0; index < currentGeneralPhoto.length; ++index) {
const file = currentGeneralPhoto[index];
this.setState({
previewGeneralPhotos: this.state.previewGeneralPhotos.concat(file)
});
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = (event) => {
console.log('URL: ', event.target.result);
this.setState({
generalPhotos: this.state.generalPhotos.concat([{ base64: event.target.result }])
});
};
}
}
であり、これは私のrenderメソッドです:
<h2>Dropped files</h2>
{this.state.previewGeneralPhotos.length > 0 ? <div>
<h2>Preview {this.state.previewGeneralPhotos.length} files...</h2>
<div>{this.state.previewGeneralPhotos.map((file) => <img src={file.preview} alt="preview failed" />)}</div>
</div> : null}
<h2> Upload {this.state.generalPhotos.length} Files </h2>
アップロード数は、配列の正しいサイズを示しているが、プレビューのみカウントが第一の写真をカウント
ありがとうございました。そのコールバックは完全に機能しました –