首页 > 其他分享 >拖动上传组件内部自定义组件,保留拖动上传

拖动上传组件内部自定义组件,保留拖动上传

时间:2025-01-09 16:33:37浏览次数:3  
标签:自定义 拖动 阻止 冒泡 组件 上传

遇到拖动上传组件内部自定义组件,保留拖动上传,其他上传方式取消(点击上传,有焦点回车上传)保留内容自定义组件

1.这里举例vue2+antdesign vue1.x(上传组件)+elementui2.12.0(内部组件输入框)保留拖动上传,可支持输入。

<a-upload-dragger  name="file" :multiple="false" accept="image/*" :file-list="[]" :custom-request="OCRVin" ref="uploadDragger">
    <div class="upload-overlay" @click.stop  @keydown.enter.stop="textareaEnter"> <!-- 覆盖点击事件 -->
         <el-input  type="textarea" v-model="searchValue" :rows="1" placeholder="请输入" resize="none">
         </el-input></div>
</a-upload-dragger>

css:

.upload-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1; /* 确保覆盖在内容之上 */
    pointer-events: auto; /* 默认情况下,这个值可能是 none,但我们需要设置为 auto 来接收点击事件,然后通过 @click.stop 来阻止它冒泡 */
    /* 可以添加透明背景或其他样式来避免影响用户体验 */
    background-color: rgba(0, 0, 0, 0); /* 透明背景 */
  }

(vue->mothods)js:

textareaEnter(e){
    //阻止事件冒泡
    e.stopPropagation();
},

2.再举例vue3+element plus(可拖动上传的展示图片)

<el-upload
    v-model:file-list="fileList"
    class="uploadBigImg"
    ref="uploadFolder"
    accept="image/*"
    :show-file-list="false"
    list-type="picture"
    :http-request="uploadHttpRequest"
    drag
    @click.stop="()=>{}"
    @keydown.enter.stop="imgEnter"
    >
    <!-- 覆盖点击事件 -->
    <div class="upload-overlay" @click.stop >
       <div class="imgBox" @click.stop="changeFocus">
           <el-image class="bigImg" :src="currentImg.url" fit="contain" ref="bigImg"
                                :preview-src-list="[currentImg.url]" />
       </div>
    </div>
</el-upload>

css同上

js:

imgEnter(e){
  //阻止默认事件
  e.preventDefault();
  //阻止事件冒泡
  e.stopPropagation();
  return;
},

完成!撤!

标签:自定义,拖动,阻止,冒泡,组件,上传
From: https://blog.csdn.net/xiaolinwuhu/article/details/144990557

相关文章

  • 【软件供应链安全】Saas化产品开发过程中的开源组件安全治理实践
    供应链金融业务及产品往往以Saas化服务租赁、贴牌及本地化标品应用部署的形式持续向国央企、军工、地产、金融机构及中小微企业提供服务,系统产品逐渐趋于成熟的同时,客户基于国家信息安全技术、法律法规及在产品安全质量上提出了比较高的要求,旨在确保软件开发生命周期安全、第三方......
  • Vue 的 transition 组件
    在开发名为USV项目时,特别是H5页面的项目,还有一个组件是我们非常常用的,它相对弹框来说没有那么大,并且不需要手动关闭在需要更简洁的提示用户一些信息时非常常用,它就是toast提示组件;接下来我们会带着大家手写一个全局的toast提示组件,当你在项目任何地方需要使用时,都可直接调用......
  • element-ui分页组件Bug 当前页不变化
    原因有可能是点击搜索的时候在搜索里面通过代码去改变了current-page让分页回到第一页,但有可能element内部的页码数据未改变,因此当在此点击第二页的时候相当于页码未发生改变,current-change事件不触发(纯属个人想法)解决方法给分页加上一个控制显示和隐藏的变量v-if="pageshow"......
  • UE5 使用内置组件进行网格切割
    UE引擎非常强大,直接内置了网格切割功能并封装为蓝图节点,这项功能在UE4中就存在,并且无需使用Chaos等模块。那么就来学习下如何使用内置组件实现网格切割。1.配置测试用StaticMesh对于被切割的模型,需要配置一些参数。以UE5第三人称模板为例,对静态网格SM_Cylinder进行配置,以......
  • MES单电芯上料数据上传接口
    接口需求概要 1.接口名称:MES单电芯上料数据上传接口 2.传输方向:设备上位机->设备数据采集平台 3.传入参数:设备编号、工序编号、移动容器编号、操作员工号、上料时间 4.传输数据格式是Json 5.调用时机:设备扫码电芯条码进行上料时,调用MES接口 接口路径(OptType) ......
  • MES下料参数数据补传上传接口
    接口需求概要 1.接口名称:MES下料参数数据补传接口 2.传输方向:设备上位机->设备数据采集平台 3.传入参数:产品工艺相关的参数 4.传输数据格式是Json 5.调用时机:设备上位机调用“MES下料参数数据上传接口”失败后,将数据进行本地离线存储,事后在做数据补传时,调用MES接......
  • 深入解析 Spring AI 系列:剖析OpenAI接口接入组件
    今天我们将继续探讨如何在SpringAI中接入大语言模型,以OpenAI为例,详细分析其接入过程。我们将逐步探讨OpenAI是如何与SpringAI系统对接的,具体包括如何配置接口、如何封装接口参数以及如何定义相关的接口。在讲解过程中,我们仍然会以整体架构为主线,逐步深入,详细了解类内部的实现细......
  • Vue 组件内守卫
    1、顺序 2、位置组件内部3、语法beforeRouteEnter通过路由规则,进入该组件时被调佣beforeRouteLeave通过路由规则,离开该组件时被调用注意:通过组件引入不被调用beforeRouteEnter(to,from,next){//...console.log('beforeRoueEnter')next()},before......
  • vue2.0+vue3.0一学就会全套教程【组件注册与组件通信】
    今天出门,物业小姐姐打招呼说今天是腊八节,叫吃一碗腊八粥。今天是腊八节呀,记得小时候每到这个时候已是浓浓的年味了了,如今粥入游子愁肠,便化作无数相思泪,香飘十里,犹未解远乡情。哈喽,大家好,我是鑫阳,今天一起看看Vue组件开发吧!1、为什么使用组件组件(Component)是Vue.js最核心......
  • JavaFX基础之组件讲解
    @目录1JavaFX组件1.1Application1.2Stage舞台(窗口)1.2.1创建舞台1.2.2展示舞台1.2.3在舞台上设置场景1.2.4舞台标题1.2.5舞台位置1.2.6舞台宽度和高度1.2.7舞台风格1.2.8舞台全屏模式1.2.9阶段生命周期事件1.2.10键盘或鼠标事件1.3Scene场景1.3.1创建场景1.3.2在......