前端文件导入(FormData形式),并隐藏原input file标签后面的提示文字

效果图

导入数据按钮
在这里插入图片描述
点击后,弹出文件选择,最后选择文件进行导入
在这里插入图片描述

原理

el-button来代替原生的input标签显示,设置input标签样式为display: none; 在点击el-button按钮时,获取input元素,并触发其点击事件

html代码

<el-button size="mini" type="primary" @click="toImport">导入数据</el-button>
<input type="file" @change="importFile" style="display:none">

js代码

//点击触发数据导入
toImport() {
  //获取隐藏的input
  const inputFile = document.querySelector("input[type='file']");
  //触发其点击事件, 弹出文件选择
  inputFile.click();
},
//开始导入数据
importFile(upfile) {
  //获取上传的文件
  const file = upfile.target.files[0];
  let data = new FormData();
  data.append('file', file);
  //接口请求
  api.importData(data).then(res => {
    console.log(res);
    if(res.data.status == 200) {
      this.$message.success('导入成功');
      this.selectData(false);
    } else {
      this.$message.warning('导入失败');
    }
  })
},

以上即可完成任务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值