react-image-uploader上传提交按钮

时间:2017-08-20 11:35:23

标签: reactjs

我发现this awesome react package用于上传多张图片。

通过浏览窗口从图像系统中选择图像后,图像就会上传到服务器。我想要的是当我按下"提交"按钮。所以我只能看到他们的预览,但除非按下按钮,否则它们实际上不会被发送。原因是因为我有其他数据需要与图像一起发送。

我是React的初学者,有人可以指点我是否有办法实现这一目标?可能会扩展* ImagesUploader *类?

1 个答案:

答案 0 :(得分:0)

更新:在查看您正在使用的软件包(并阅读一些代码)之后,您似乎无法(轻松)挂钩到上传的触发器 - 也就是说,并非没有分支项目,添加自己的"暂停"像机制一样,看看他是否接受PR。

他没有公开任何钩子来手动开始上传,只有onLoadStart()onLoadEnd()的回调。

我最初的想法是以某种方式在onLoadStart()中添加一个生成器函数,暂停上传,直到你用你的生成器调用next() ......但......这不容易实现......抱歉。如果以后有人需要这些信息,我会留下原来的答案。

将您的函数添加到onChange事件处理程序,以便在用户选择文件时触发它。您将更改添加到<input>元素。

&#13;
&#13;
// 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;
&#13;
&#13;