【问题标题】:React file upload Component with jquery blueimp file upload plugin使用 jquery blueimp 文件上传插件反应文件上传组件
【发布时间】:2016-07-25 14:02:33
【问题描述】:

我是新手,正在尝试使用 React 创建文件上传组件。但是找不到原生的 React 插件。所以我尝试从 React 组件调用 JQuery 插件(Blue-imp 文件上传),我的问题是文件上传只能工作一次。 Blue-imp插件配置为自动上传文件,文件上传控件隐藏并触发点击。以下是我的代码:

var FileUpload = React.createClass({

  triggerUpload:function(){
    this.myFileInput.trigger('click');  
  },    
  componentDidMount: function() {
    this.myFileInput = $(ReactDOM.findDOMNode(this.refs.mu));
    this.myFileUpload = this.myFileInput.fileupload({
                            dataType: this.props.dataType,
                            url: this.props.uploadURL,
                      });
  },
  render: function() {
    return (
        <div className="myFP" onClick={this.triggerUpload}>
            <input type="file" ref="mu" name="files[]" multiple=""  className="hidden"/>
        </div>
    );
  }
});

ReactDOM.render(<FileUpload dataType="json" uploadURL="/upload-file" />,$('#fpDiv').get(0));

谁能告诉我通过 React 调用 jquery 插件的正确方法是什么。任何帮助将不胜感激。

【问题讨论】:

    标签: jquery file-upload reactjs jquery-plugins


    【解决方案1】:
    <div className="myFP" onClick={this.triggerUpload.bind(this)}>
                <input type="file" ref="mu" name="files[]" multiple="" onClick={this.testFnc.bind(this)} className="hidden"/>
            </div>
    

    我想知道为什么你有两个具有相同范围的方法。方法 triggerUpload 和 testFnc 在点击输入时都会被触发。你需要管理它。

    【讨论】:

    • 抱歉onClick={this.testFnc.bind(this)}是一个错字
    猜你喜欢
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 2015-03-05
    相关资源
    最近更新 更多