美文网首页
vue 利用js触发vue-json-excel的下载操作,解决

vue 利用js触发vue-json-excel的下载操作,解决

作者: CoderZb | 来源:发表于2022-08-11 11:19 被阅读0次

需求:列表中的每行数据都有一个导出按钮,且点击导出会发起网络请求,获取激活码列表数据。
分析:我使用的vue-json-excel插件,该插件要导出的数据源是放到插件的data属性中,所以我们要先获取到激活码列表数据后,再触发该插件。直接触发的话会导致下载列表中的所有行数据等稀奇古怪的问题。
解决办法:导出按钮和vue-json-excel分离,前者实现发起网络请求,获取激活码列表数据,待获取到激活码列表数据后,再执行后者,实现下载操作。

image.png

做法:(核心代码)

<div
  :key="index"
  class="export_btn"
  :style="{ color: exportDisabled == true ? '#f2f2f2' : '#15a0f9' }"
  @click="exportClick(record.batch)"
>
导出
</div>
<download-excel
  style="z-index:-2;position:absolute;"
  id="download_excel"
  :data="allList"
  :fields="allFields"
  name="激活码列表.xlsx"
>
<a-button type="primary" class="income_detail">
  导出数据
</a-button>
</download-excel>

js

 exportClick(batch) {
      this.allList = [];// 清空之前的数据
      this.request3Func(batch);// 网络请求
},
 request3Func(batch) {
    // 省略部分代码
    // 在网络请求的成功回调中写上如下代码
   setTimeout(function() {
          document.getElementById("download_excel").click();
    }, 100);
}

相关文章

  • vue 利用js触发vue-json-excel的下载操作,解决

    需求:列表中的每行数据都有一个导出按钮,且点击导出会发起网络请求,获取激活码列表数据。分析:我使用的vue-jso...

  • 【MAC 上学习 Vue】Day 1. 创建 Hello Wor

    下载 Vue.js Vue.js 开发版本下载地址为:https://vuejs.org/js/vue.js 安装...

  • 2018-09-11

    1,下载安装vue.js下载git安装在需要下载vue.js的地方打开输入指令ump install vue下载成...

  • 2018-07-30

    ## vue-unicom vue-unicom是一个Vue.js的一个组件。解决了Vue中组件通讯的痛点。利用事...

  • Vue基础使用

    Vue编辑样式 首先先链接下载好的Vue js插件 然后再新建一个js代码区,用来编辑将要操作的部分元素 div区...

  • vue 加elemmentui 引入式

    1.ElementUI是基于Vue.js的,所以先下载Vue.js学习阶段选择开发版本。下载vue2.下载elem...

  • 学习Vue(基础环境配置)

    下载Vue.js https://vuejs.org/js/vue.min.js也可以在 Vue.js 的官网上直...

  • MAC上学习Vue---Day1. 创建Hello World

    下载Vue.js Vue.js开发版本地址为: https://vuejs.org/js/vue.js 安装VS ...

  • vue.js安装

    1、独立版本 我们可以在 Vue.js 的官网上直接下载 vue.min.js 并用 标签引入。下载 Vue....

  • 利用网址引用

    利用网址引用vue https://cdn.jsdelivr.net/vue/2.1.3/vue.js 利用网址引...

网友评论

      本文标题:vue 利用js触发vue-json-excel的下载操作,解决

      本文链接:https://www.haomeiwen.com/subject/sitawrtx.html