第一种方法,可以在network查看到接口的调用和请求体携带的参数
import ReactDOM from ‘react-dom’
exportFn = ()=>{
let exportStr
exportStr = 下载当前文件的ID
this.exporUtilModel(exportStr)//调用下载方法
}
exporUtilModel =(exportStr)=>{
Iet divElement = document.getElementById(‘downloadDiv’)//虚拟个div
let path = ‘xxxxxxxxx’//下载所需要的接口
React.render(
<form action={path) method=‘post’>//把接口和请求方式填写一下
<input name=‘id’ type=‘text’ value={exportStr}</input>
</form>,
divElement)
ReactDom.findDOMNode(divElement).quertSelector(‘form’).submit()//找到新建的div,提交它
ReactDom.unmountComponentAtNode(divElement)//用过即弃
}
在jsx里要写<div id='divElement' ></div>
第二种方法 ,在network上面框看不见接口调用和参数
exportfn=(donwloadID)=>{
//输入进来的参数是要下载的数据的唯一id
const a= document.createElement(‘a’)//创建一个标签
let path = ‘xxxxxx?id’+downloadID//接口后面拼接参数
a.setAttribute(‘download’,’’)//给元素属性赋值
a.setAttribute(‘href’,path)//给元素赋值
a.click()//给点击事件
}
在公司下班无聊手敲的,可能会有拼写错误,劳烦各位大佬批评指正了~