我要下载与该行有关的文件,并从该行的值中传递该值,甚至在我单击下载按钮之前,就已经创建并下载了该文件,我正在使用react-file-download包和filedownload方法同样,但无法做到。我需要有关如何解决此问题的信息:
class displayBlank {
handleDownload(col 1,col2)
{
var data = "This is an example JSON";
var fileDownload = require('react-file-download');
fileDownload(data, 'filename.json');
}
render(){
<table >
<thead>
<tr role="row">
<th>COL 1</th>
<th>COL 2</th>
<th>COL 3</th>
<th>COL 4</th>
<th>COL 5</th>
<th>COL 6</th>
<th>COL 7</th>
<th>COL 8</th>
<th>COL 9</th>
</tr>
</thead>
<tbody>
{this.state.pageOfItems.map((item, i) => {
return (
<tr key={i}>
<td >{item.COL1}</td>
<td> {item.COL2}</td>
<td> {item.COL3}</td>
<td> {item.COL4}</td>
<td> {item.COL5}</td>
<td> {item.COL6}</td>
<td style={{color: 'white', fontWeight: 'bold', backgroundColor: item.COL 7 === 'VALUE' ? 'red' : 'green'}}>{item.COL7}</td>
<td >{item.COL 8 === 'VALUE1' ? (<div><Button bsStyle="primary" type="submit" bsSize="small" onClick={this.handleDownload(item.COL1,item.COL2)}>DOWNLOAD</Button></div>) : (<div></div>)}</td>
</tr>
);
})}
</tbody>
</table>
}
}
即使在单击下载按钮之前,文件也已下载,并且特定的行值未传递到handleDownload函数上。
答案 0 :(得分:0)
onClick={() => this.handleDownload(item.COL 1,item.COL 2)}
您正在调用该函数,而应使用上面的回调。