针埠戳 2021-12-02 01:01 采纳率: 0%
浏览 95

download-excel导出数据为excel

问题遇到的现象和发生背景

我的下载按钮并不是绑定一个数据源的,而是根据点击下载按钮得到当前行的某些字段去后端查找对应的数据返回前端才导出为excel的,
加载完这一个页面,比如点击第一行的下载按钮,点击的第一下是没有任何反应的,但是数据已经从后端返回到前端了,在控制台打印出来了,打印的数据也是对的。再第二次点击第一行的下载按钮,页面才回用反应,才会将数据导出为excel。但是我接着点击第二行的下载按钮,导出的excel内容却是第一行的数据。在点击第三行的下载按钮,导出的excel内容却是第二行的数据。
我每点击一次下载按钮,控制台会打印对应行的对应的数据,导出的时候就是不对,求解为什么点击下载按钮,导出的excel却不是对应的数据,而是上一次点击下载按钮对应的数据

问题相关代码,请勿粘贴截图
<el-table-column align="center" label="操作" min-width="200">
        <template slot-scope="scope">
          <download-excel :data="jsonData" name="xxxx.xls">
            <el-button type="primary" size="mini" @click="download(scope.$index, scope.row)">下载</el-button>
          </download-excel>
          <el-button size="mini" type="danger" @click="delImportManagement(scope.$index, scope.row)">删除</el-button>
        </template>
      </el-table-column>

if(row.dataType == 'xxx'){
        geShuidownloadButton(row.month).then((res => {
          this.jsonData = []
          for(let o of res.data.data){
            this.jsonData.push({
              "工号": o.jobNumber,
              
            })
          }
        }))
      }
      if(row.dataType == 'xx'){
        downloadButton(row.month,row.dataType).then((res => {
          this.jsonData = []
          for(let i of res.data.data){
            this.jsonData.push({
              "工号":i.jobNumber,
             
            })
          }
        }))
      }
      

运行结果及报错内容

并没有报错

我的解答思路和尝试过的方法
我想要达到的结果

我点击哪一行的下载按钮,哪一行的数据就会导出问excel文件

  • 写回答

3条回答 默认 最新

  • 关注

    说明你传参的顺序有问题,换一下代码的调用顺序。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月2日

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试