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

相关推荐
摸鱼仙人~1 分钟前
重塑智能体决策路径:深入理解 ReAct 框架
前端·react.js·前端框架
小小小小宇2 分钟前
ResizeObserver 和 IntersectionObserver
前端
BigTopOne4 分钟前
android jetpack 有哪些常用的组件
前端
sunbyte5 分钟前
50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | DragNDrop(拖拽占用组件)
前端·javascript·css·vue.js·vue
快起来别睡了7 分钟前
Vue 响应式系统与 `computed` 属性详解:小白也能学会的完整指南
vue.js
柚子8167 分钟前
告别FLIP动画:View Transition API带来的革命性变革
前端·javascript
level_xiwei8 分钟前
有关资源泄漏的一些知识
前端
excel9 分钟前
使用 Prisma 实现数据库字段的动态迁移实践
前端·后端
天涯学馆12 分钟前
JS 组合模式在组件化开发中的应用:从原理到实战
前端·javascript·面试
玲小珑12 分钟前
Next.js 教程系列(七)服务端渲染 (SSR) 深度探究:`getServerSideProps`
前端·next.js