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

效果图

原理与源码

我们这里的思路是用ant组件库的upload组件,就是如下这个

用这个包裹住所有页面,你可以是包裹住App.vue,或者是你的homepage。但是这个涉及到一个问题,就是我们现在确实是可以拖拽导进来文件了,但是同时页面随便一点,也会触发这个导入文件的对话框,而我们并不想触发这个,也就是我们的最终目的,是包裹住整个页面后,只可以拖拽,不可以点击。

但是ant仿佛并没有提供类似click方法,无法重写覆盖,于是这里我们使用了事件冒泡的机制。阻止了上层要素的click事件,于是完美解决。

改造成我们所需的,就是这样

javascript 复制代码
      <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>
相关推荐
云飞云共享云桌面5 分钟前
传统工作站 vs 云飞云共享云桌面:制造业设计云桌面选型深度对比
运维·服务器·前端·网络·3d·架构·制造
UXbot13 分钟前
如何选择适合公司项目的UI设计工具?企业选型指南
前端·低代码·ui·团队开发·原型模式·设计规范·web app
llz_1121 小时前
web-第四次课后作业
前端·spring boot·web
武清伯MVP2 小时前
前端跨域方案大合集
前端·javascript
一杯奶茶¥2 小时前
基于springboot的失物招领管理系统带万字文档 校园失物招领管理系统 失物认领管理系统java springboot vue
java·vue.js·spring boot·java项目
小刘|2 小时前
Spring AI Alibaba 集成和风天气 API 实战
java·服务器·前端
星星在线2 小时前
我是怎么把页面图片流量砍掉一半的
前端·javascript
木叶子---3 小时前
前端打包出错
前端·人工智能·tensorflow
JAVA面经实录9173 小时前
前端系统化学习计划表(含完整知识思维导图)
前端·学习
本末倒置1833 小时前
开发了一个所见所得的md编辑器,致敬Typora大佬
前端