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 相关文章推荐
js 覆盖和重载 函数
Sep 25 Javascript
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
Jun 10 Javascript
jQuery之网页换肤实现代码
Apr 30 Javascript
jquery对单选框,多选框,文本框等常见操作小结
Jan 08 Javascript
浅谈JavaScript中的分支结构
Jul 01 Javascript
Javascript 基础---Ajax入门必看
Jul 06 Javascript
详解AngularJS验证、过滤器、指令
Jan 04 Javascript
Angular中的$watch方法详解
Sep 18 Javascript
Angular弹出模态框的两种方式
Oct 19 Javascript
浅谈React组件之性能优化
Mar 02 Javascript
对vue中的事件穿透与禁止穿透实例详解
Oct 28 Javascript
taro 实现购物车逻辑的实例代码
Jun 05 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获取数组中某元素的位置及array_keys函数应用
2013/01/29 PHP
PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
2016/06/13 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
2017/05/29 PHP
PHP基于DOMDocument解析和生成xml的方法分析
2017/07/17 PHP
js+FSO遍历文件夹下文件并显示
2007/03/07 Javascript
在模板页面的js使用办法
2010/04/01 Javascript
ExtJS4 组件化编程,动态加载,面向对象,Direct
2011/05/12 Javascript
nodejs的require模块(文件模块/核心模块)及路径介绍
2013/01/14 NodeJs
jquery prop的使用介绍及与attr的区别
2013/12/19 Javascript
在每个匹配元素的外部插入新元素的方法
2013/12/20 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
jQuery淡入淡出元素让其效果更为生动
2014/09/01 Javascript
自定义函数实现IE7与IE8不兼容js中trim函数的问题
2015/02/03 Javascript
jquery仿百度百科底部浮动导航特效
2015/08/08 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
react-router中的属性详解
2017/06/01 Javascript
vue中使用props传值的方法
2019/05/08 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
Python 时间操作例子和时间格式化参数小结
2014/04/24 Python
解读! Python在人工智能中的作用
2017/11/14 Python
对python中for、if、while的区别与比较方法
2018/06/25 Python
wxpython+pymysql实现用户登陆功能
2019/11/19 Python
python生成器用法实例详解
2019/11/22 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
Redbubble法国:由独立艺术家设计的独特产品
2019/01/08 全球购物
小米俄罗斯授权商店:Xiaomi俄罗斯
2019/12/08 全球购物
社会学专业求职信
2014/02/24 职场文书
《猫》教学反思
2014/02/26 职场文书
房屋租赁协议书
2014/04/10 职场文书
不服从公司安排检讨书
2014/09/24 职场文书
党支部四风整改方案
2014/10/25 职场文书
青年教师个人总结
2015/02/11 职场文书
导游词之太湖
2019/10/08 职场文书
《语言的突破》读后感3篇
2019/12/12 职场文书
python实现过滤敏感词
2021/05/08 Python
Linux中sftp常用命令整理
2022/06/28 Servers