我发现this awesome react package用于上传多张图片。
通过浏览窗口从图像系统中选择图像后,图像就会上传到服务器。我想要的是当我按下"提交"按钮。所以我只能看到他们的预览,但除非按下按钮,否则它们实际上不会被发送。原因是因为我有其他数据需要与图像一起发送。
我是React的初学者,有人可以指点我是否有办法实现这一目标?可能会扩展* ImagesUploader *类?
答案 0 :(得分:0)
更新:在查看您正在使用的软件包(并阅读一些代码)之后,您似乎无法(轻松)挂钩到上传的触发器 - 也就是说,并非没有分支项目,添加自己的"暂停"像机制一样,看看他是否接受PR。
他没有公开任何钩子来手动开始上传,只有onLoadStart()
和onLoadEnd()
的回调。
我最初的想法是以某种方式在onLoadStart()
中添加一个生成器函数,暂停上传,直到你用你的生成器调用next()
......但......这不容易实现......抱歉。如果以后有人需要这些信息,我会留下原来的答案。
将您的函数添加到onChange
事件处理程序,以便在用户选择文件时触发它。您将更改添加到<input>
元素。
// example
class FileUploadComponent extends React.Component {
constructor() {
super()
this.state = {
file: ''
}
this.handleChange = this.handleChange.bind(this)
this.handleSubmit = this.handleSubmit.bind(this)
}
handleChange(e) {
this.setState({file: e.target.files[0]})
// do your other "pre-submitted" logic here
}
handleSubmit(e) {
e.preventDefault()
const { file } = this.state
// do something with the file
}
render() {
return (
<div>
<input type='file' onChange={this.handleChange}/>
<button onClick={this.handleSubmit}></button>
</div>
)
}
}
&#13;