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 相关文章推荐
JavaScript 一行代码,轻松搞定浮动快捷留言-V2升级版
Apr 02 Javascript
js强制把网址设为默认首页
Sep 29 Javascript
JavaScript 模块的循环加载实现方法
Dec 13 Javascript
详解jquery事件delegate()的使用方法
Jan 25 Javascript
百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
Feb 19 Javascript
原生js实现吸顶效果
Mar 13 Javascript
详解使用JS如何制作简单的ASCII图与单极图
Mar 31 Javascript
详解从新建vue项目到引入组件Element的方法
Aug 29 Javascript
jQuery实现动态添加节点与遍历节点功能示例
Nov 09 jQuery
vue结合Echarts实现点击高亮效果的示例
Mar 17 Javascript
Angular使用操作事件指令ng-click传多个参数示例
Mar 27 Javascript
js实现点击生成随机div
Jan 16 Javascript
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操作数组相关函数
2011/02/03 PHP
PHP中time(),date(),mktime()区别介绍
2013/09/28 PHP
Zend Framework动作助手Url用法详解
2016/03/05 PHP
Joomla使用Apache重写模式的方法
2016/05/04 PHP
解析PHP之提取多维数组指定列的方法
2017/01/03 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
Thinkphp框架+Layui实现图片/文件上传功能分析
2020/02/07 PHP
JS option location 页面跳转实现代码
2008/12/27 Javascript
关于innerHTML后丢失动态绑定的EVENT问题解决方法
2013/05/19 Javascript
各种页面定时跳转(倒计时跳转)代码总结
2013/10/24 Javascript
js身份证判断方法支持15位和18位
2014/03/18 Javascript
第八篇Bootstrap下拉菜单实例代码
2016/06/21 Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
2016/08/05 Javascript
jquery easyui DataGrid简单示例
2017/01/23 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
2017/03/08 Javascript
小程序组件之自定义顶部导航实例
2019/06/12 Javascript
Vue实现拖放排序功能的实例代码
2019/07/08 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
2019/12/26 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
vue+element-ui表格封装tag标签使用插槽
2020/06/18 Javascript
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
Python学习之Anaconda的使用与配置方法
2018/01/04 Python
python爬虫之xpath的基本使用详解
2018/04/18 Python
python matplotlib 在指定的两个点之间连线方法
2018/05/25 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
python 的 scapy库,实现网卡收发包的例子
2019/07/23 Python
Python threading.local代码实例及原理解析
2020/03/16 Python
Python如何将函数值赋给变量
2020/04/28 Python
HTML5 Video/Audio播放本地文件示例介绍
2013/11/18 HTML / CSS
德尔福集团DELPHI的笔试题
2012/02/22 面试题
党校培训思想汇报
2014/01/03 职场文书
个人房屋买卖协议书(范本)
2014/10/04 职场文书
教师听课评语大全
2014/12/31 职场文书
信贷客户经理岗位职责
2015/04/09 职场文书
安全生产会议制度
2015/08/06 职场文书
大学生十八大感想
2015/08/11 职场文书