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 相关文章推荐
根据分辨率不同,调用不同的css文件
Jul 07 Javascript
有效的捕获JavaScript焦点的方法小结
Oct 08 Javascript
jQuery拖动图片删除示例
May 10 Javascript
JS生成不重复随机数组的函数代码
Jun 10 Javascript
JQuery中DOM事件合成用法实例分析
Jun 13 Javascript
使用BootStrap实现用户登录界面UI
Aug 10 Javascript
socket.io学习教程之基础介绍(一)
Apr 29 Javascript
vue2.0中click点击当前li实现动态切换class
Jun 21 Javascript
如何理解Vue的.sync修饰符的使用
Aug 17 Javascript
实例详解vue中的$root和$parent
Apr 29 Javascript
在vant中使用时间选择器和popup弹出层的操作
Nov 04 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
Nov 06 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实现的随机广告显示代码
2007/06/14 PHP
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
2014/12/24 PHP
PHPExcel 修改已存在Excel的方法
2018/05/03 PHP
Laravel实现ApiToken认证请求
2019/10/14 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
2019/10/21 PHP
javascript 隐藏/显示指定的区域附HTML元素【legend】用法
2010/03/05 Javascript
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
formValidator3.3的ajaxValidator一些异常分析
2011/07/12 Javascript
JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)
2013/10/01 Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
2014/01/25 Javascript
Jquery获取元素的父容器对象示例代码
2014/02/10 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
2015/08/25 Javascript
jquery特效 点击展示与隐藏全文
2015/12/09 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
2016/03/11 Javascript
nodejs微信公众号支付开发
2016/09/19 NodeJs
angular中实现li或者某个元素点击变色的两种方法
2017/07/27 Javascript
JS实现带动画的回到顶部效果
2017/12/28 Javascript
解决vue页面DOM操作不生效的问题
2018/03/17 Javascript
详解VSCode配置启动Vue项目
2019/05/14 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
2019/08/27 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
[03:51]吞吞映像 每周精彩击杀top10第二弹
2014/06/25 DOTA
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
[03:57]2016完美“圣”典风云人物:rOtk专访
2016/12/09 DOTA
[01:52]深扒TI7聊天轮盘语音出处7
2017/05/11 DOTA
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python实现通过文件路径获取文件hash值的方法
2017/04/29 Python
python django 原生sql 获取数据的例子
2019/08/14 Python
Python查找不限层级Json数据中某个key或者value的路径方式
2020/02/27 Python
CSS3中Animation属性的使用详解
2015/08/06 HTML / CSS
阿迪达斯奥地利官方商城:adidas.at
2016/10/16 全球购物
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
高考标语大全
2014/06/05 职场文书
工作疏忽、懈怠的检讨书
2014/09/11 职场文书
2014年学生会生活部工作总结
2014/11/07 职场文书
golang实现一个简单的websocket聊天室功能
2021/10/05 Golang