Vue3&el-upload 实现在组建之外提供一个上传按钮

有这么一个需求,在使用el-upload组件进行文件上传的时候,除了组件默认提供的上传按钮,还要在列表的最前面自定义的加一个上传按钮,点击这个自定义的上传按钮要实现和点击默认的上传按钮同样的全套的上传流程

默认的:

我要的效果:

也就是除了默认的上传还有一个自己定义的上传按钮。

实现的话也很简单:

首先加一个和之前点击的入口,注意是在 el-upload 标签外定义的

复制代码
                    <!-- 自定义的点击上传入口-->
                    <div class="el-upload el-upload--picture-card" 
                        style="margin-bottom: 6px;width: 146px;" @click="chooseFile">
                        <el-button type="primary" >上传本地文件</el-button>
                    </div>

                    <!-- 历史图片展示区 -->
                    <el-upload 
                    ...
                    </el-upload>

然后代码实现模拟点击

复制代码
<script lang="ts" setup>
            ...


        const triggerRef = ref<InstanceType<typeof ElButton>>()
        const uploadRef = ref<InstanceType<typeof ElUpload>>()
        //自定义上传文件
        const chooseFile = ()=> {
            //模拟点击上传按钮
            triggerRef.value?.$.vnode.el?.click();
        }

        ...
</script>

关键的一步就是模拟点击上传的代码。

有疑问可以私信或者留言,这个效果已经实现并发布在我的OCR/表格识别重做的网站里面的,可以先去体验一下是不是你想要的效果。

相关推荐
小王和八蛋3 分钟前
前端存储与离线应用实战:Cookie、LocalStorage、PWA 及 Service Worker 核心知识点
前端·javascript
JarvanMo7 分钟前
终极指南:在 Flutter 中通过 sign_in_with_apple 实现 Apple 登录
前端
Learner13 分钟前
Python异常处理
java·前端·python
tao35566716 分钟前
VS Code登录codex,报错(os error 10013)
java·服务器·前端
军军君0119 分钟前
Three.js基础功能学习七:加载器与管理器
开发语言·前端·javascript·学习·3d·threejs·三维
哈__20 分钟前
React Native 鸿蒙开发:内置 Share 模块实现无配置社交分享
javascript·react native·react.js
JarvanMo22 分钟前
情迷服务器驱动 UI:我在 Flutter 开发中的爱与哀愁
前端
tzy23325 分钟前
分享一个 HTTP(S) 代理&抓包工具,拦截和Mock Web客户端请求和服务端响应
前端·网络协议·http
代码小学僧30 分钟前
普通前端仔的 2025 : 年终总结与 AI 对我的影响
前端·程序员·ai编程
Mike_jia36 分钟前
TCP 粘包/拆包问题
前端