首页 > 其他分享 >ProComponent搭建Upload表单

ProComponent搭建Upload表单

时间:2024-07-13 14:30:11浏览次数:14  
标签:const customerRequest Upload ProComponent 表单 fileList uploadedFile 上传

背景

利用ProComponent,创建一个能够上传文件的表单。

一开始打算使用<BetaSchemaForm/>进行构建,但是columns中valueType不支持Upload组件,因此无法实现

所以需要利用ProForm进行构建

 

做法

因为是弹窗表单,所以需要<ModalForm></ModalForm>

<ModalForm
  formRef={formRef}
  layout={'horizontal'}
  open={visible}
  onOpenChange={setVisible}
  title={record ? '编辑广告' : '新增广告'}
  onFinish={onSave}
>
  <ProFormUploadButton
    label="视频文件"
    name="file"
    listType="picture-card"
    icon={<PlusOutlined />}
    required={true}
    fileList={fileList}
    fieldProps={{
      multiple: true,
      onRemove: onVideoRemove,
      customRequest: uploadFile,
    }}
  />
</ModalForm>
  • 利用ProFormUploadButton,建立文件上传组件
  • 此处我们需要自定义上传,因此需要重写组件的上传方式,通过配置customerRequest
  • //配置该函数后,后覆盖默认的上传方式,改用当前上传方式
    //customerRequest会传入一options对象,里面有当前的file,成功回调,失败回调,上传进度等,通过获取相关属性进行业务开发
    const uploadFile = async (options: any) => {
      const { file, onSuccess, one rror } = options
      try {
        const uploadedFile = await uploadAdvertFile({
          multipartFile: file,
        })
        if (uploadedFile) {
          onSuccess(uploadedFile)
          setFileList([
            uploadedFile as any,
            ...fileList
          ])
        }
      } catch (error) {
        one rror(error)
      }
    }

     

  •  

     注意,如果需要手动上传,但是又要显示上传进度,就不能按照文档配置beforeUpload属性

  • 文档说:如果需要手动上传,配置beforeUpload,传入一个return false的方法,这样会导致上传进度无法显示
  • 因此无需更改beforeUpload,直接配置customerRequest即可

标签:const,customerRequest,Upload,ProComponent,表单,fileList,uploadedFile,上传
From: https://www.cnblogs.com/karle/p/18300022

相关文章

  • React使用ProComponent建立表单和列表
    ProComponentProComponent基于Antd组件库,进一步封装,成为满足企业级开发需求的组件库。其兼容Antd内容的基础上,对表单列表等内容进行完善,在建立表单等需求中能够提供强大的api以及功能集合AntDesign定义了基础的设计规范,对应也提供了大量的基础组件。但是对于中后台类应用,我们......
  • PowerCreatorCMS UploadResourcePic 任意文件上传漏洞复现
    严正声明1.本文仅用于技术交流,目的是向相关安全人员展示漏洞的存在和利用方式,以便更好地提高网络安全意识和技术水平。2.任何人不得利用本文中的技术手段进行非法攻击和侵犯他人的隐私和财产权利。一旦发生任何违法行为,责任自负。3.本文中提到的漏洞验证poc仅用于授权......
  • 推荐几个开源的vue表单设计器
    1、Form.ioForm.io是一个开源的纯JavaScript表单渲染器和API平台,为开发者提供了一种快速、灵活的方式来构建和管理表单驱动的应用程序。Form.io使用ES6和JavaScript实现(没有jQuery、Angular、React或任何其他框架依赖),将JSON模式渲染为webform表单,并将该表单挂接到Form.io服务......
  • PowerCreatorCMS UploadResourcePic 任意文件上传漏洞复现
    0x01产品简介PowerCreatorCMS是翰博尔信息技术有限公司(简称翰博尔PowerCreator)推出的一款教育资源管理平台,专注于教育领域的信息化解决方案。PowerCreatorCMS是集成了软件平台和硬件设备、多系统高度融合的教育资源管理平台。它旨在通过技术手段提升教育资源的管理、共享和......
  • upload-labs靶场全题解
    ​​靶场搭建对php和apache版本有严格要求,建议使用phpstudy2018并且使用设置php版本为5.2.17,这个靶场比较老了,如果要复现的话,必要严格按照要求来使用,博主使用最新版的phpstudy在某些靶场上未能成功复现,所以浪费了很多时间。。。。。Upload-Labs环境要求操作系统:wind......
  • Contact Form联系表单自动发送邮件(超级简单)
    前几天发现了aoksend推出的这个联系表单的组件,非常好用,只有一个php文件,把php文件放到网站主目录里面。然后去aoksend注册和配置好域名和发信邮箱,可以得到发送密钥:app_key,然后配置好邮件模板,可以得到邮件id:template_id。将这两个数据配置到上面那个php文件里面第31行的位置。$d......
  • 开源流程表单设计器都有哪些值得一提的优势?
    如果需要提质、增效、降本,不妨来了解下低代码技术平台、开源流程表单设计器的功能和优势特点。想要实现流程化办公,低代码技术平台是助力增效的理想工具。功能灵活、操作方便、好维修、可视化操作等优势都是其深受行业喜爱的优势特点。通过本文,可以随时来了解开源流程表单设计器的......
  • 一文熟悉拖拽式表单设计器的方方面面
    很多客户朋友都想知道用什么样的软件平台可以实现提质、降本、增效的目的。可以来了解低代码技术平台、拖拽式表单设计器的更多功能与特点。作为专业的服务商,流辰信息为客户提供整套低代码技术平台服务解决方案,通过本文,可以详细了解拖拽式表单设计器的更多优势和特点。其实,低代码......
  • 一起了解自定义流程表单开发的主要优势
    当前,想要进行流程化办公,应用专业的软件平台产品是非常重要的。低代码技术平台拥有可视化操作界面、很灵活、易维护等优势特点,可以应用于很多中小型流程化办公中。那么,低代码技术平台、自定义流程表单开发的主要优势特点表现在哪来?跟着小编的节奏,一起来了解它们的主要优势吧。什么......
  • camunda快速入门(三):设计表单和审批流程
    三、设计一个人工任务流程并配置表单在本节中,您将学习如何使用BPMN2.0用户任务让人类参与到您的流程中。1、添加用户任务活动节点我们想修改我们的流程,以便我们可以让人类参与进来。为此,请在CamundaModeler流程建模工具中打开该过程。选择创建/删除空间工具(<||>),并使用......