vue+elementui 实现上传文件/导入文件的功能示例详解

 更新时间:2025年03月05日 09:24:45   作者:最初@  
文章介绍了如何使用Vue和Element UI实现上传文件和导入文件的功能,主要内容包括:上传组件的使用、data中的数据存储、methods中的方法(选择文件、点击确定上传文件、删除文件),文章还提供了相关链接供进一步学习,感兴趣的朋友一起看看吧

vue+elementui 实现上传文件/导入文件的功能

1. 上传组件

<el-form-item label="上传文件:">
  <el-upload
    action=""
    :file-list="fileList"
    :show-file-list="false"
    :http-request="handUpLoad"
    drag
    :limit="1"
    :accept="'.xls, .xlsx'"
  >
    <i class="el-icon-upload" />
    <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
  </el-upload>
  <ul class="downloadFile">
    <li v-for="(val, index) in fileList" :key="index">
    <a class="el-upload-list__item-name" href="javascript:;" rel="external nofollow" ><i class="el-icon-document" />{{ val.fileName }}</a>
    <i class="el-icon-close" @click="handleFileRemove(val)" />
    </li>
    <li v-show="fileLoading"><i class="loading el-icon-loading" /> </li>
  </ul>
</el-form-item>

2. data中的数据

data() {
  return {
    fileList: [],
    fileLoading: false,
    fileobj: ''
  }
}

3. methods中的方法

① 选择文件

handUpLoad(fileobj) {
  this.fileobj = fileobj
  this.fileList = [{
    fileName: fileobj.file.name,
    fileSize: fileobj.file.size
  }]
}

② 点击确定,调用接口上传文件

submit() {
  if (this.fileList.length === 0) {
    this.$message({
      message: '请先上传文件',
      type: 'warning'
    })
    return
  }
  const param = new FormData()
  param.append('file', this.fileobj.file)
  // 调用上传文件的方法--fileImport
  fileImport(param).then(res => {
    this.$message({
      type: 'success',
      message: '上传成功'
    })
  }).catch(err => {
    this.$message.error(err)
  }).finally(() => {
    this.$emit('refresh')
  })
 }

③ 删除文件

handleFileRemove() {
  this.fileList = []
}

到此这篇关于vue+elementui 实现上传文件/导入文件的功能的文章就介绍到这了,更多相关vue elementui 上传文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue2 设置router-view默认路径的实例

    vue2 设置router-view默认路径的实例

    今天小编就为大家分享一篇vue2 设置router-view默认路径的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • element el-table表格的二次封装实现(附表格高度自适应)

    element el-table表格的二次封装实现(附表格高度自适应)

    这篇文章主要介绍了element el-table表格的二次封装实现(附表格高度自适应),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Vue路由传参的三种方式实例详解

    Vue路由传参的三种方式实例详解

    vue路由传参的使用场景一般都是应用在父路由跳转到子路由时,携带参数跳转,下面这篇文章主要给大家介绍了关于Vue路由传参的三种方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • Vue3访问页面时自动获取数据的方法实现

    Vue3访问页面时自动获取数据的方法实现

    本文介绍了在Vue3中如何利用生命周期钩子函数和定时器实现访问页面时自动获取数据的方法,这种方法适用于需要在页面加载时即时更新数据显示的场景,感兴趣的可以了解一下
    2024-11-11
  • vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法

    vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法

    父子组件通信,都是单项的,很多时候需要双向通信。这篇文章主要介绍了vue 自定义组件 v-model双向绑定、 父子组件同步通信,需要的朋友可以参考下
    2017-11-11
  • 解决Vue 刷新页面导航显示高亮位置不对问题

    解决Vue 刷新页面导航显示高亮位置不对问题

    这篇文章主要介绍了解决Vue 刷新页面导航显示高亮位置不对问题,本文图文实例相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • vue3中做文件预览的项目实践

    vue3中做文件预览的项目实践

    本文主要介绍了在Vue3项目中实现常见文件类型的预览功能,包括docx、xlsx、pdf、txt、png、jpg、jpeg、mp4和mp3,具有一定的参考价值,感兴趣的可以了解一下
    2025-01-01
  • 浅谈Vue的加载顺序探讨

    浅谈Vue的加载顺序探讨

    本篇文章主要介绍了Vue的加载顺序探讨,详细的介绍了加载顺序以及如何判断所有的子组件加载完成。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • npm如何更新VUE package.json文件中依赖的包版本

    npm如何更新VUE package.json文件中依赖的包版本

    这篇文章主要介绍了npm如何更新VUE package.json文件中依赖的包版本问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Uniapp中WebView的使用与后退键处理教程

    Uniapp中WebView的使用与后退键处理教程

    在Uniapp中使用web-view组件来加载H5页面时,对于后退键的处理是一个常见需求,下面这篇文章主要给大家介绍了关于Uniapp中WebView的使用与后退键处理的相关资料,需要的朋友可以参考下
    2024-07-07

最新评论