当前位置: 首页 > news >正文

vue整个页面可以拖拽导入文件

效果图

在这里插入图片描述

原理与源码

我们这里的思路是用ant组件库的upload组件,就是如下这个
在这里插入图片描述
用这个包裹住所有页面,你可以是包裹住App.vue,或者是你的homepage。但是这个涉及到一个问题,就是我们现在确实是可以拖拽导进来文件了,但是同时页面随便一点,也会触发这个导入文件的对话框,而我们并不想触发这个,也就是我们的最终目的,是包裹住整个页面后,只可以拖拽,不可以点击。
但是ant仿佛并没有提供类似click方法,无法重写覆盖,于是这里我们使用了事件冒泡的机制。阻止了上层要素的click事件,于是完美解决。
在这里插入图片描述
改造成我们所需的,就是这样

      <a-upload-dragger
          name="file"
          action=""
          :showUploadList=false
          @drop="handleDrop"
          :before-upload="beforeUpload"
          style="height: 100%;width: 100%;"
      >
        <!-- 阻止upload组件的click事件 -->
        <div onclick="event.stopPropagation()">
        	<!-- 你的页面 -->
         </div>
      </a-upload-dragger>

相关文章:

  • 在windows系统搭建LVGL模拟器(codeblock工程)
  • [论文笔记] 大模型主流Benchmark测试集介绍
  • 【第二章】docker +Jenkins+git+allure+python3安装
  • 『K8S 入门』二:深入 Pod
  • 云原生之深入解析如何在Kubernetes中快速启用Cgroup V2支持
  • Docker与K8s的区别
  • 数据可视化设计:让数据故事更有说服力
  • Excel实现字母+数字拖拉自动递增,步长可更改
  • [算法基础 ~排序] Golang 实现
  • 实战指南:使用 Nginx 反向代理实现多端口跳转
  • python实现最小二叉堆---最小堆结构
  • Hazel引擎学习(十二)
  • 软件设计师——软件工程(一)
  • k8s中EmptyDir、HostPath、NFS三种基本存储方式介绍
  • Mac 如何删除文件及文件夹?可以尝试使用终端进行删除
  • 051:vue项目webpack打包后查看各个文件大小
  • 虹科Pico汽车示波器 | 汽车免拆检修 | 2019款别克GL8豪华商务车前照灯水平调节故障
  • 深度学习基本概念
  • FFmpeg-基础组件-AVFrame
  • vs2017+qt5.14.2遇到的问题
  • 硅料巨亏后弘元绿能割肉求生:逾12亿元内蒙古公司股权转让协鑫
  • 陕西澄城打造“中国樱桃第一县”:从黄土高原走向海外,年产值超30亿
  • 美联储主席:关税“远超预期”,美联储实现目标的进程或被推迟至明年
  • 明星站台“胖都来”背后:百元起录视频,20万可请顶流
  • 叙利亚政权领导人首访西方国家,与法国总统讨论叙局势
  • 马上评|颜宁“简历打假”的启示