vue用接口實現導出


1. 封裝導出方法
function exportMethod(data) {
    axios({
        method: data.method,
        url: data.url,
        data: data.data,
        responseType: 'blob',
        headers: {
            'Content-Type': 'application/json'
        }
    }).then((res) => {
        const link = document.createElement('a')
        let blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
        link.style.display = 'none'
        link.href = URL.createObjectURL(blob)
 
        link.download = data.fileName + '.xls' //下載的文件名  注意:加.xls是兼容火狐瀏覽器
        document.body.appendChild(link)
        link.click()
        document.body.removeChild(link)
    }).catch(error => {
        console.log(error)
    })
}
2. 調用處:
this.$confirm('確認導出嗎?', '提示', {}).then(() => {
              let params={ list: this.overlays };
              let myObj = {
                    method: 'post',                         
       url: ‘http://172.16.82.63:8082/ stationManage/exportScen’,  //接口地址
                    fileName: '下載文件名字', 
                    data:params,
                  }
                exportMethod(myObj); 
            }).catch(() => {
                console.log("cancel");
            });
注意:項目main.js 需要去掉mock.js 的引用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM