如何获取输入文件的值?
问题描述:
我有这样的代码:如何获取输入文件的值?
<input className='input-file' type='file' onChange={this.handleDocumentUploadChange(index)} />
而index
是预定int。问题是,我想读这个元素的价值,但我不能。我试图访问event.target.value
,但它保持为空。有任何想法吗 ?
答
我发现了这个问题。
我的输入呈现在.map()函数中。因此,当我想绑定this
如onChange={this.handleDocumentTitleChange.bind(this, index)}
它wouldnt工作。
因此,我做了这个var self = this;
,并将其绑定到self
。
+2
内部的事件对象'[] .map()'带有第二个参数,'this';你可能会注意到它在许多反应示例中的循环中使用,并且它将防止需要绑定任何东西或别名'this'。所以,'.map(fn,this)'... – dandavis
https://www.npmjs.com/package/react-file-input - 检查出来 – James111
尝试使用“FileReader”API。 https://developer.mozilla.org/en-US/docs/Web/API/FileReader – Shiyou
只是猜测,但你有没有试过像这样传递? 'this.handleDocumentUploadChange(this,index)' – Bikas