结合element和原生写法<a>标签实现excel文件的下载和上传

本项目要求:用户下载excel模板,填写资料后上传

模板保存在项目文件中,使用a标签点击下载

html

html 复制代码
         <el-upload
                  v-model:file-list="fileList"
                  :before-upload="beforeUpload"
                  :limit="1"
                  :on-exceed="handleExceed"
                  :show-file-list="false"
                >
                  <el-button size="small" type="primary">
                    <vab-icon icon="file-excel-2-line" />
                    导入EXCEL
                  </el-button>
                </el-upload>
                
                <el-button size="small" type="primary">
                  <vab-icon icon="download-2-line" />
                  <a
                    download="收款导入模板"
                    href="./static/collection.xls"
                    style="color: #ffffff"
                  >
                    下载模板
                  </a>
                </el-button>

上传功能:

javascript 复制代码
export function importExcelDetail(file) {
  return request({
    url: '/api/v1/pri/cost-master/import-excel-detail',
    method: 'post',
    data: {
      files: [file],
    },
  })
}
javascript 复制代码
      const beforeUpload = (file) => {
        importExcelDetail(file).then((res) => {
          if (res.code === 200) {
            $baseMessage('导入成功!', 'success')
            fetchData()
          }
        })
      }

      const handleExceed = () => {
        ElMessage.warning('只能选择一个文件')
      }
相关推荐
黑土豆9 分钟前
【Vue3 实战】从0到1封装一个“框选截图”组件,顺便聊聊 html2canvas 的那些“坑”
前端·javascript·vue.js
EF@蛐蛐堂18 分钟前
Lodash 的终极进化Radashi
前端·javascript·vue.js
ZzMemory32 分钟前
深入理解JS(七):Promise 的底层机制与异步编程全解析
前端·javascript·promise
漫天星梦34 分钟前
你的Axios还停留在请求拦截器添加header,响应拦截器处理状态码嘛
前端·vue.js
red润1 小时前
let obj = { foo: 1 }; console.log(Reflect.get(obj, 'foo', { foo: 2 })); // 输出 1?
前端·javascript
李明卫杭州1 小时前
正则表达式前瞻操作符详解
前端·javascript
Running_C2 小时前
Vue组件化开发:从基础到实践的全面解析
前端·vue.js·面试
南玖i2 小时前
使用vue缓存机制 缓存整个项目的时候 静态的一些操作也变的很卡,解决办法~超快超简单~
前端·javascript·vue.js
qb4 小时前
vue3.5.18源码:调试方式
前端·vue.js·架构
一叶怎知秋4 小时前
【openlayers框架学习】九:openlayers中的交互类(select和draw)
前端·javascript·笔记·学习·交互