vue项目下的导入和导出
本篇博文主要记录我们在写项目的时候经常需要用到导入和导出。
导入
- 首先定义一个模态弹窗,一般情况下会使用一个
input
(设置opacity:0)覆盖在显示的按钮上面
<!-- 3.导入 -->
<Modal title="批量导入" v-model="importVisual" width="450px" class="page-open-question-import">
<div class="import-btn">
<input
class="upload-input"
@change="fileChange($event)"
name="files"
type="file"
accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
/>
<Button
type="primary"
ghost
style="margin-left:40px"
icon="ios-cloud-upload-outline"
>点击上传Excel文件</Button>
<span class="file-name" v-show="fileName" :title="fileName">{{fileName}}</span>
</div>
<div class="import-text">
<span>文件小于10M,内容需符合模板规范</span>
<span>导入文档前请先添加好相应的类目</span>
</div>
<div class="import-example" @click="download">
<Icon type="ios-cloud-download-outline" />下载规范模板
</div>
<div slot="footer">
<Button @click="importVisual=false">取消</Button>
<Button type="primary" @click="importOk">确定</Button>
</div>
</Modal>
- 通过
type='file'
的输入框获取到文件信息,一般情况下的导入接口使用的是formdata
信息
// 导入选择文件
fileChange (el) {
this.importFile = el.target.files[0];
this.fileName = this.importFile.name;
},
// 确定导入
importOk () {
let param = new FormData();
param.append('file', this.importFile);
importData(param, {
kgId: this.kgId
}).then(res => {
// 导入成功后操作
......
this.importVisual = false;
this.$Message.success('导入成功!')
})
},
导出
get 请求
一般情况下,我们可以直接使用window.open()
的方法来导出后端提供的get请求;
// 根据参数导出数据
downloadModel () {
window.open(
`${httpConfig.baseURL}/kg/dataset/data/template/${this.datasetId}`
);
}
post 请求
有的接口因为传参比较多,会需要使用post请求,那么上面的方法就不合适,通用的请求会出现乱码,大多数情况下我们会使用表单提交的方法
- 创建form表单请求的方法
// 导出文件
formSubmit (param, url) {
var $form = document.getElementById('exportForm');
if (!$form) {
$form = document.createElement('form');
$form.setAttribute('id', 'exportForm');
$form.setAttribute('method', 'post');
$form.style.display = 'none';
document.getElementById('exportParent').appendChild($form);
}
$form.setAttribute('action', url);
// 记得要把token信息带上
let token = this.$cookies.get('access_token');
param.access_token = token;
for (var obj in param) {
var input = document.createElement('input');
input.type = 'hidden';
input.name = obj;
input.value = param[obj];
$form.appendChild(input);
}
$form.submit();
}
- 导出的方法中使用
// 确认导出
exportOk () {
// 根据label获取id
......
// 请求导出
this.formSubmit(
{
kgId: this.kgId,
status: this.status,
categoryIds: this.categoryIds.join('|')
},
this.exportUrl
);
}
vue项目下的导入和导出的更多相关文章
- Vue框架下实现导入导出Excel、导出PDF
项目需求:开发一套基于Vue框架的工程档案管理系统,用于工程项目资料的填写.编辑和归档,经调研需支持如下功能: Excel报表的导入.导出 PDF文件的导出 打印表格 经过技术选型,项目组一致决定通过 ...
- 使用vue-cli脚手架初始化Vue项目下的项目结构
概述 vue-cli是Vue 提供的一个官方命令行工具,可用于快速搭建大型单页应用.该工具提供开箱即用的构建工具配置,带来现代化的前端开发流程.只需几分钟即可创建并启动一个带热重载.保存时静态检查以及 ...
- vue入坑教程(二)在vue项目中如何导入element以及sass
在项目中导入element以及sass.stylus等方便开发的工具以及UI框架 (1)如何在vue项目中导入elementUI框架 elementUI是饿了么团队开发出来基于vue的前端UI框架,其 ...
- vue + iview 怎样在vue项目下添加ESLint
参考:https://segmentfault.com/a/1190000012019019?utm_source=tag-newest 使用iview框架的MenuGroup标签,vscode报红, ...
- Linux 环境下 MySQ导入和导出MySQL的sql文件
将服务器上的文件导入或导出还需要使用工具传输到本机中,推荐使用winscp,与xshell搭配使用 1 导入数据库 两种方法 .首先建空数据库 mysql>create database abc ...
- windows下cmd导入与导出mysql 数据库
一.导出数据库 假设导到C:\ordersys.sql 1.CMD下:输入mysqldump -u 用户名 -p 导出的数据库名>c:\ordersys.sql 2.CMD会提示输入密码:输入密 ...
- vue项目多列导入
用axios.post传一个数组参数使用:JSON.stringify(this.params) <form> <span class="upimg">&l ...
- vue项目下使用iview总结
iview在IE浏览器下有问题,打开页面是空白
- Linux下oracle导入(exp)导出(imp)出现"Failed to open ...for reader/write"错误
随机推荐
- 每日一练_PAT_B_PRAC_1004客似云来
题目描述 NowCoder开了一家早餐店,这家店的客人都有个奇怪的癖好:他们只要来这家店吃过一次早餐,就会每天都过来:并且,所有人在这家店吃了两天早餐后,接下来每天都会带一位新朋友一起来品尝.于是,这 ...
- 导弹拦截(dp复习)
题目描述:求最长下降子序列的长度 in: 71 7 3 5 9 4 8 out: 4 解释:1 3 4 8/1 3 5 8 长度为四 这让我想到了hdu上导弹拦截那道题,是求最长上升子序列长度 其转移 ...
- POJ_1088_dfs
http://poj.org/problem?id=1088 dfs过程中,保存经历过的点的最大滑雪距离,依次遍历每一个点的最大距离即可. #include<iostream> #incl ...
- 使用docker19.03.6部署zabbix
可参考官方文档:https://www.zabbix.com/documentation/4.0/zh/manual/installation/containers 1)启动一个空的mysql服务器实 ...
- Property - 特性(Python)
Property - Python 特性 不同的书籍对 property 一词的翻译有所不同, 我们将 property 翻译成 '特性' 以区别于 attribute 一词. 先看看 propert ...
- windows10 CTCP
windows上除了普通tcp之外,有一个CTCP. 据说可以提升长延时情况下的吞吐量. win7可以方便的通过netsh int tcp set global congestionprovider= ...
- Java 添加、读取、删除Excel图片
本文介绍在Java程序中如何添加图片到excel表格,添加图片时可设置图片大小.位置.旋转.超链接.可选文本等,以及如何读取.删除excel表格中已有的图片. 工具:Free Spire.XLS fo ...
- pocsuite3使用教程
pocsuite3使用教程 0X00简介 PocSuite3是Knownsec 404安全研究团队设计的一款远程漏洞测试以及PoC开发框架,该框架使用了功能极其强大的概念验证引擎,并自带了大量渗透测试 ...
- scrapy框架中多个spider,tiems,pipelines的使用及运行方法
用scrapy只创建一个项目,创建多个spider,每个spider指定items,pipelines.启动爬虫时只写一个启动脚本就可以全部同时启动. 本文代码已上传至github,链接在文未. 一, ...
- JavaScript之if流程控制演练,if写在区间内怎么解决
什么是编程?通俗意见上来讲,就是把人的思维与步骤通过代码的形式书写展示出来,JavaScript的流程控制包含条件判断if,switch选择,循环for while:if(表达式 条件)=>真{ ...