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 相关文章推荐
关于IFRAME 自适应高度的研究
Jul 20 Javascript
jQuery选中select控件 无法设置selected的解决方法
Sep 01 Javascript
JavaScript 原型继承
Dec 26 Javascript
jQuery.event兼容各浏览器的event详细解析
Dec 18 Javascript
javascript:window.open弹出窗口的位置问题
Mar 18 Javascript
CSS3,HTML5和jQuery搜索框集锦
Dec 02 Javascript
Bootstrap媒体对象的实现
May 01 Javascript
js方法数据验证的简单实例
Sep 17 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
May 22 Javascript
JavaScript判断变量名是否存在数组中的实例
Dec 28 Javascript
在mpvue框架中使用Vant WeappUI组件库的注意事项【推进】
Jun 09 Javascript
微信小程序实现上传照片代码实例解析
Aug 04 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常用函数 推荐收藏保存
2010/02/21 PHP
php+ajax登录跳转登录实现思路
2016/07/31 PHP
CI框架无限级分类+递归的实现代码
2016/11/01 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
用javascript实现的激活输入框后隐藏初始内容
2007/06/29 Javascript
jQuery 解析xml文件
2009/08/09 Javascript
ModelDialog JavaScript模态对话框类代码
2011/04/17 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
iframe窗口高度自适应的又一个巧妙实现思路
2014/04/04 Javascript
JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)
2014/10/17 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
jquery判断当前浏览器的实现代码
2015/11/07 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
js实现下拉框效果(select)
2017/03/28 Javascript
React学习笔记之列表渲染示例详解
2017/08/22 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
原生js实现公告滚动效果
2021/01/10 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
js 计算月/周的第一天和最后一天代码
2020/02/01 Javascript
python动态参数用法实例分析
2015/05/25 Python
python之PyMongo使用总结
2017/05/26 Python
Python加密方法小结【md5,base64,sha1】
2017/07/13 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
2018/03/14 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
Python Threading 线程/互斥锁/死锁/GIL锁
2019/07/21 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
梵蒂冈和罗马卡:Omnia Card Pass
2018/02/10 全球购物
4s店总经理岗位职责
2013/12/31 职场文书
文员的职业生涯规划发展方向
2014/02/08 职场文书
会计专业大学生职业生涯规划书
2014/02/11 职场文书
运动会横幅标语
2014/06/17 职场文书
2014年光棍节活动策划方案(创意集锦)
2014/09/29 职场文书
老员工辞职信范文
2015/05/12 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python