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/表格识别重做的网站里面的,可以先去体验一下是不是你想要的效果。

相关推荐
QQ40220549618 小时前
python基于vue的大学生课堂考勤系统设计与实现django flask pycharm
vue.js·python·django
光影少年19 小时前
前端如何调用gpu渲染,提升gpu渲染
前端·aigc·web·ai编程
Surplusx19 小时前
运用VS Code前端开发工具完成网页头部导航栏
前端·html
小宇的天下19 小时前
Calibre 3Dstack --每日一个命令day13【enclosure】(3-13)
服务器·前端·数据库
LongJ_Sir20 小时前
Cesium--可拖拽气泡弹窗(Vue3版)
javascript
跟着珅聪学java20 小时前
JavaScript 中定义全局变量的教程
javascript
一只小bit20 小时前
Qt 文件:QFile 文件读写与管理教程
前端·c++·qt·gui
午安~婉21 小时前
整理知识点
前端·javascript·vue
向前V21 小时前
Flutter for OpenHarmony数独游戏App实战:底部导航栏
javascript·flutter·游戏
人道领域21 小时前
JavaWeb从入门到进阶(javaScript)
开发语言·javascript·ecmascript