首页 > 编程语言 >3.2 Upload源码分析 -- ant-design-vue系列

3.2 Upload源码分析 -- ant-design-vue系列

时间:2024-09-13 10:49:51浏览次数:10  
标签:canvas vue const -- type 源码 file return 上传

Upload源码分析 – ant-design-vue系列

源码地址:https://github.com/vueComponent/ant-design-vue/blob/main/components/upload/Upload.tsx

1 概述

本篇是对Upload组件的分析,这个组件调用了vc-upload,是对vc-upload的封装。

作用包括:上传数据的管理、上传行为的定义、上传结果的预览等。

Upload上传包括两种形式:点击和拖动,分别如下所示:

| 在这里插入图片描述
| 在这里插入图片描述
|
| ------------------------------------------------------------ | ------------------------------------------------------------ |

Upload预览包括三种形式:textpicturepicture-card,分别如下所示:

| 在这里插入图片描述
| 在这里插入图片描述
| 在这里插入图片描述
|
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |

2 源码分析

2.1 Dragger组件:拖动上传

使用<a-upload-dragger>组件来实现拖动上传,内部还是调用了Upload组件,这是只是设置了type: 'drag'

 const draggerProps = {
   ...restProps,
   ...restAttrs,
   type: 'drag',
   style: { ...(style as any), height: typeof height === 'number' ? `${height}px` : height },
 } as any;
return <Upload {...draggerProps} v-slots={slots}></Upload>;

2.2 Upload组件

2.2.1 渲染函数

主要逻辑如下图:

在这里插入图片描述

  • type === 'drag',需要在VcUpload外面套一个div节点,这个节点是有作用的。

标签:canvas,vue,const,--,type,源码,file,return,上传
From: https://blog.csdn.net/weixin_44438233/article/details/142180038

相关文章

  • 如何在PbootCMS前台调用自定义表单?PbootCMS自定义调用代码说明
    要在PbootCMS前台调用自定义表单,可以按照以下详细步骤进行操作:1.创建自定义表单登录后台:登录PbootCMS后台管理系统。创建表单:进入表单管理模块。点击“新建表单”,填写表单的基本信息(如表单名称)。添加所需的字段(如姓名、邮箱、电话等)。保存表单。2.在模板文件......
  • WebM视频如何转为MP4格式?四步搞定常见视频转换
    WebM是一种开放的、免版税的多媒体容器格式,而MP4则更普遍地被各类设备支持。如果你有需要将WebM格式的视频转换为MP4格式,那么本教程简鹿办公将会指导你如何使用简鹿视频格式转换器完成这一任务。WebM转MP4步骤指南简鹿视频格式转换器Win在线包https://downloadopen......
  • 中电金信:价值驱动的数字化`金融机构转型指南
    在当今的数字经济时代,金融机构的数字化转型已成为必然趋势。然而,尽管投入了大量人力物力,数字化转型的成效却参差不齐,目前我国企业数字化转型取得显著成效的比例仍不足两成。随着市场竞争的加剧和外部环境的变化,降本增效、资源投入效能最大化已成为金融机构的重点关注事项,“价值创......
  • 谈一谈数据库中的死锁问题
    文章目录死锁是什么?死锁的四个必要条件避免死锁的策略本篇文章是基于《MySQL45讲》来写的个人理解与感悟。死锁是什么?死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象。若无外力作用,它们都将无法推进下去。此时称系......
  • 杂题乱做 - 2000-
    目录写在前面CF1992F贪心,数学1900CF2008G贪心,数学1800CF2009G1数据结构1900CF1891D数学1900CF1996F二分,简单数学1900CF1985G数学1600写在最后写在前面简单题们。以后可以用来搬。唉唉现在2000及以下都能直接秒了真没意思。CF1992F贪心,数学1900显然直接贪心......
  • 民宿预定|基于springboot+vue的民宿在线预定平台系统(源码+数据库+文档)
    民宿在线预定平台目录基于springboot+vue的民宿在线预定平台系统一、前言二、系统设计三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考七、最新计算机毕设选题推荐八、源码获取:博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSD......
  • VSCode快捷键设置
    1路径直接使用Ctrl+K,Ctrl+S打开快捷接设置界面,点击右上角的{},就可以在json中设置,具体自定义快捷键如下:2自定义keybings//Placeyourkeybindingsinthisfiletooverridethedefaultsauto[][{"key":"ctrl+alt+u","command":"editor.action.transf......
  • 快速编写一款python漏洞批量检测工具
    一、前言以下列检测脚本示列:importrequestsimporturllib3importre,string,randomfromurllib.parseimporturljoinimportargparseimporttimeimportsslssl._create_default_https_context=ssl._create_unverified_contexturllib3.disable_warnings(ur......
  • OpenAI使用AI编程给出了数数问题的解决方案 —— 如何解决ChatGPT不会数数的问题
    总所周知的一个问题,那就是ChatGPT不会数数,不过今天突然发现OpenAI给出了一个神奇的解决方法,那就是AI编程。问题案例如下:Thetextprovidedwillbeanalyzedtocalculatethewordcount.text="""Therehasbeenrapidlygrowinginterestinmeta-learningasamet......
  • 面试总结003
    1、阐述你们自动化测试的流程思路:结合项目实际工作流程背景描述:我们公司是基于python语言设计的一个自动化测试框架来实现自动化测试流程介绍(本质)会按照已有框架,去配置测试用例实现自动化,不需要额外进行编码(详细流程)需求评审后,开发前后端负责商定接口设计文档出来,然后开......