elemetUi 组件--el-upload实现上传Excel文件的实例


Posted in Javascript onOctober 27, 2017

elemetUi 组件--el-upload实现上传Excel文件的实例

【需求】实现上传Excel文件,在上传到服务器时,还要附加一个参数,在请求上传文件接口前,先要进行文件格式判断。

elemetUi 组件--el-upload实现上传Excel文件的实例

【知识点】

1、el-upload 官方文档中,主要用到了以下属性:

data 可选参数, 上传时附带的额外参数
name 可选参数, 上传的文件字段名
before-upload 可选参数, 上传文件之前的钩子,参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传。

2、split进行字符串截取

【分析】

<template>
  <div class="panel admin-panel">
    <div class="panel-head" id="add"><strong><span class="el-icon-edit"></span><span class="title">上传数据</span></strong></div>
    <div class="body-content">
      <el-form :model="ruleForm" ref="ruleForm" label-width="100px" class="form uploadform">
        <el-form-item label="部门" prop="name">
          <el-select v-model="form.type" placeholder="请选择" style="width: 135px">
            <el-option
                v-for="item in options"
                :key="item.value"
                :label="item.label"
                :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>

        <el-form-item>

          <el-upload
              class="upload-demo"
              ref="upload"
              action="http://10.1.20.218:8088/gnh-webadmin-platfrom/api/v1/sendSalaryBillGeinihua"
              :on-preview="handlePreview"
              :before-upload="beforeAvatarUpload"
              :on-remove="handleRemove"
              :file-list="fileList"
              :auto-upload = 'false'
              :on-success = 'handleSuccess'
              :data="form"
              name="salaryBill">
            <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
            <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
            <div slot="tip" class="el-upload__tip">只能上传xls/xlsx文件</div>
          </el-upload>

        </el-form-item>
      </el-form>
    </div>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        options: [{
          value: '1',
          label: '帅哥部'
        }, {
          value: '2',
          label: '美女部'
        }],
        fileName:'',
        fileList:[],
        ruleForm: {
//          name: '',
          isShow: '0'
        },
        form:{
          type:'1'
        },

      };
    },
    methods: {
      submitUpload() {
        this.$refs.upload.submit();
      },

      beforeAvatarUpload(file) {

        let Xls = file.name.split('.');

        if(Xls[1] === 'xls'||Xls[1] === 'xlsx'){
          return file
        }else {
          this.$message.error('上传文件只能是 xls/xlsx 格式!')
          return false
        }

      },
      handleRemove(file, fileList) {
      },
      handlePreview(file) {
      },
      handleSuccess(res,file,fileList){

        if(res.code===20000){
          this.$message({
            message: '上传成功!',
            type: 'success'
          });
        }else {
          this.$message({
            message: res.msg,
            type: 'error'
          });
        }

      }
    }
  }
</script>
<style scope>
  input[type="file"] {
    display: none;
  }
  .el-upload-list{
    width: 200px;
  }
  .el-select {
    width: 135px;
  }

</style>

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
jquery实用代码片段集合
Aug 12 Javascript
通过Javascript创建一个选择文件的对话框代码
Jun 16 Javascript
jQuery中hide()方法用法实例
Dec 24 Javascript
jQuery中closest和parents的区别分析
May 07 Javascript
浅谈js 闭包引起的内存泄露问题
Jun 22 Javascript
jQuery实现的淡入淡出二级菜单效果代码
Sep 15 Javascript
多种JQuery循环滚动文字图片效果代码
Jun 23 Javascript
JavaScript判断微信浏览器实例代码
Jun 13 Javascript
在Docker快速部署Node.js应用的详细步骤
Sep 02 Javascript
JavaScript函数柯里化原理与用法分析
Mar 31 Javascript
微信小程序页面传值实例分析
Apr 19 Javascript
jQuery实现div跟随鼠标移动
Aug 20 jQuery
node 利用进程通信实现Cluster共享内存
Oct 27 #Javascript
vue中v-model动态生成的实例详解
Oct 27 #Javascript
微信小程序 input输入及动态设置按钮的实现
Oct 27 #Javascript
js通过Date对象实现倒计时动画效果
Oct 27 #Javascript
vue-cli + sass 的正确打开方式图文详解
Oct 27 #Javascript
本地搭建微信小程序服务器的实现方法
Oct 27 #Javascript
Vue2.0 axios前后端登陆拦截器(实例讲解)
Oct 27 #Javascript
You might like
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
php post json参数的传递和接收处理方法
2018/05/31 PHP
Prototype1.6 JS 官方下载地址
2007/11/30 Javascript
document.documentElement &amp;&amp; document.documentElement.scrollTop
2007/12/01 Javascript
JS event使用方法详解
2008/04/28 Javascript
Jquery 基础学习笔记之文档处理
2009/05/29 Javascript
Mootools 1.2教程 同时进行多个形变动画
2009/09/15 Javascript
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
JavaScript实现页面实时显示当前时间的简单实例
2013/07/20 Javascript
BootStrap的alert提示框的关闭后再显示怎么解决
2016/05/17 Javascript
javascript之with的使用(阿里云、淘宝使用代码分析)
2016/10/11 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
vue.js 初体验之Chrome 插件开发实录
2017/05/13 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
JavaScript图片处理与合成总结
2018/03/04 Javascript
node基于puppeteer模拟登录抓取页面的实现
2018/05/09 Javascript
NodeJS实现自定义流的方法
2018/08/01 NodeJs
jQuery事件多次绑定与解绑问题实例分析
2019/02/19 jQuery
express.js中间件说明详解
2019/03/19 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
一个检测OpenSSL心脏出血漏洞的Python脚本分享
2014/04/10 Python
在Python中操作字典之setdefault()方法的使用
2015/05/21 Python
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
Python语言描述KNN算法与Kd树
2017/12/13 Python
Python实现端口检测的方法
2018/07/24 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
2020/06/29 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
2020/09/30 Python
PHP如何删除一个Cookie值
2012/11/15 面试题
装饰资料员岗位职责
2013/12/30 职场文书
竞选劳动委员演讲稿
2014/04/28 职场文书
捐书倡议书
2014/08/29 职场文书
大学生第一学年自我鉴定
2014/09/12 职场文书
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
优秀新员工事迹材料
2019/05/13 职场文书
5种方法告诉你如何使JavaScript 代码库更干净
2021/09/15 Javascript