【发布时间】:2016-10-26 19:13:13
【问题描述】:
我正在使用带有 Redux-Form 的 React,并且我正在尝试在文件输入中显示图像的预览。我设法预览了图像,但是只有在选择文件后将焦点从文件输入中更改出来时,图像才会预览(而不是在选择文件后立即预览)。
这是我采取的方法:
<div className="form-group">
<label htmlFor="exampleInputFile" style={{ width: '100%' }}>
<img id="team-logo-img" className="img-responsive center-block" src="http://placehold.it/180" />
{this.renderImagePreview()}
</label>
<input type="file" id="exampleInputFile" {...teamLogoField} value={null} onChange={this.readURL(this)} />
</div>
还有我的 readURL 函数:
readURL(input) {
input = input.props.fields.teamLogoField.value;
if (input && input[0]) {
const reader = new FileReader();
reader.onloadend = function (e) {
jQuery('#team-logo-img')
.attr('src', e.target.result);
};
reader.readAsDataURL(input[0]);
}
}
有什么方法可以在用户选择文件后立即预览图像?或者如果有更好的方法来使用我正在听的 react redux-forms 预览图像!
================================================ ========================== 编辑1:
我使用的方法是基于此: https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL
在不使用 react 时对我有用
【问题讨论】:
标签: reactjs redux react-redux redux-form