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

相关推荐
软件派29 分钟前
生产动态数据智能风控:阈值判别、趋势预测、异常识别算法工程落地实战
前端·数据库·算法
花开盛夏^.^9 小时前
电脑打开多个浏览器Web窗口占用较大的运行内存的原因
前端·浏览器
Dxy123931021610 小时前
JS DES 加密详解
开发语言·javascript·arcgis
充值内卷10 小时前
我给桌面加了个鱼缸:C++ 写后端,WebView2 里养一座 Three.js 小岛
开发语言·javascript·c++
馒头不想说话10 小时前
实体店老板的24小时AI运营员工,写、剪、发全自动,省下一整个团队工资
前端
椒哥12 小时前
一天被问几十次"允许",我统计了 517 次,然后写了个插件
前端·javascript·github
风骏时光牛马12 小时前
生成一个AI稳定性治理及疑难问题分析标题,只需要一个标题,不需要其他的任何文本。
前端
莫西干式秃头12 小时前
用 AI + threejs 写了个浏览器里的 3D 动作游戏《武来》:砍怪、放技能、开 SU7
前端·人工智能·three.js
kyriewen13 小时前
我测了 6 种防请求竞态的写法:只有 1 种真能打
前端·javascript·程序员
孟健13 小时前
用 WorkBuddy 做个人名片网页,挂上开源设计技能后效果完全不同了
前端·人工智能·ai编程