目录

vue3中怎么点击按钮就上传文件

html 复制代码
<el-button text type="primary" @click="importBillExcel(row)">导入账单</el-button>
javascript 复制代码
// 导入客户账单Excel表
const importBillExcel = (row) => {
    let input = document.createElement('input')
    input.type = 'file'
    input.accept = '.pdf, .png, .zip, .jpg'; // 限制选择的文件类型为 .pdf, .png, .zip, .jpg
    input.style.display = 'none'
    document.body.appendChild(input)
    input.click();
    input.onchange = (e) => {
        const file = e.target.files[0] // 获取文件对象
        let paramsFile = new FormData() // 转为表单格式
        paramsFile.append('file',file) // 添加属性和值
        paramsFile.append('receivableBillSn',row.receivableBillSn) // 添加属性和值
        importCustomerBill(paramsFile).then(res=>{
            document.body.removeChild(input)
        })
    }
}

说明:file和receivableBillSn是接口importCustomerBill需要传递的参数;整个实现过程就是利用了input标签的type="file"的属性,这个属性就是可以弹出文件选择对话框;importBillExcel方法中就是创建了一个input节点添加type="file"属性,最后在移除input节点;

效果

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
一个西瓜大小10 分钟前
css单位
前端·css
Jasmin Tin Wei16 分钟前
蓝桥杯 web 新鲜的蔬菜(css3)
前端·蓝桥杯·css3
斯~内克22 分钟前
前端单页应用性能优化全指南:从加载提速到极致体验
前端·性能优化
dododododoooo26 分钟前
python处理两份经纬度数据的对应关系
前端·windows·python
人总该做点什么34 分钟前
聊聊 CSS
前端·css
明天好,会的36 分钟前
极简设计的力量:用 `apiStore` 提升项目效率与稳定性
前端·javascript·vue.js
前端极客探险家1 小时前
Vue 3 + jsPlumb 打造可视化流程图组件(支持图标与颜色配置)
前端·vue.js·流程图
90后的晨仔1 小时前
Dart 中的聚合类型与容器类型详解
前端·flutter
斯~内克1 小时前
深入探索 Node.js 文件监听机制:从前端工程化到原理剖析
前端·node.js
陈随易1 小时前
请立即使用小程序开发者工具24年9月份版本
前端·后端·程序员