您的当前位置:首页>全部文章>文章详情

【AntDesignPro】Ant Design Pro学习记录—ModalForm的使用(四)

CrazyPanda发表于:2024-02-20 17:27:07浏览:353次TAG:

一、 ModalForm自定义footer按钮

参考官网,Modal弹框是可以自定义按钮的,原想着ModalForm的modalprops可以设置自定义footer,结果设置一直不生效,最终还是使用Modal嵌套了ProForm实现了功能,在此记录一下。

ant design pro使用的V5版本。


1、Modal自定义footer

参考官网https://ant-design.antgroup.com/components/modal-cn?from=msidevs.net#components-modal-demo-footer

在footer属性中,直接写上自己想要的按钮就可以。

<Modal 
      title="退租审核" 
      width={600} 
      open={closeModalVisible} 
      destroyOnClose={true}
      maskClosable={false}
      bodyStyle={{ maxHeight: 500, overflowY: 'auto' }}
      onCancel={() => {
        setCloseModalVisible(false);
      }}
      footer={[
        <Button key="forbid" type="primary" onClick={() => {
          Modal.confirm({
            title: '删除',
            content: '确定要驳回该退租申请吗?',
            okText: '确认',
            cancelText: '取消',
            onOk: async () => {
              const success = await reject({ refund_id:currentRow?.id });
              if (success) {
                setCloseModalVisible(false);
                if (actionRef.current) {
                  actionRef.current.reload();
                }
              }
            },
          });
        }}>驳回</Button>,
        <Button key="confirm" type="primary" style={{backgroundColor:'#0066ff',borderColor:'#0066ff'}} onClick={() => {
          theForm.submit();
        }}>确定</Button>,
      ]}></Modal>

2、 在Modal中前五ProForm

<ProForm form={theForm} submitter={false} 
        onInit={() => {
          theForm.resetFields();
        }}
        onFinish={async (value) => {
          console.log(123);
          const success = await contract_close(value);
          if (success) {
            setCloseModalVisible(false);
            if (actionRef.current) {
              actionRef.current.reload();
            }
          }
        }}>
        <ProFormText name="contract_id" hidden={true} initialValue={currentRow?.contract_id} />
        <ProFormText name="refund_id" hidden={true} initialValue={currentRow?.id} />
        <ProFormText
          name="start_at"
          label="起租日期"
          width="xl"
          disabled={true}
          initialValue={currentRow?.start_at}
        />
        <ProFormText
          name="end_at"
          label="到租日期"
          width="xl"
          disabled={true}
          initialValue={currentRow?.end_at}
        />
        <ProFormText
          name="close_at"
          label="退租日期"
          width="xl"
          disabled
          placeholder="请选择退租日期"
          initialValue={currentRow?.close_at}
          />
</ProForm>

ProForm自带的有提交按钮,我满把他去掉,设置submitter={false},表单的按钮就不再显示了

3、 自定义按钮关联表单操作

我们隐藏了表单自己的按钮,现在需要把我们自定义的按钮关联上表单的操作,表单的操作主要由两个,一个是提交,一个是重置,

我们给表单绑定自定义的form,在点击自定义的确定按钮时,触发表单的提交操作,使用theForm.submit()即可。

<Button key="confirm" type="primary" style={{backgroundColor:'#0066ff',borderColor:'#0066ff'}} onClick={() => {
          theForm.submit();
        }}>确定</Button>

然后就会调用ProForm的onFinish方法,来实现表单的提交,

重置操作同样,使用theForm.reset(),即可触发表单的onReset方法,我这里没有设置重置方法,大家可根据自己需要进行设置。

猜你喜欢

【React】使用React实现一个内容滑动组件
最近在做项目时遇到一个需求,需要让一个列表能够通过点击按钮进行滚动,每次都是一屏的距离,不足则结束。并且,这个列表项是在react-grid-layout中的某一个模块内。所以包裹这个列表的容器会随时发生变化。在完成这个组件后,通过这篇文章总结一下。UI/原型分析那么从上面的功能描述以及项目中的UI,我们可以分析得到这样一个假想图:我们需要实现一个容器来作为我们的可视区域,并且这个容器是可以伸缩的。列表内容如果超出容器的可视区域,那么就会被隐藏。需要左右都有按钮,来支持用户左右滑动内容来查看,每
发表于:2024-04-10 浏览:318 TAG:
【AntDesignPro】Ant Design Pro学习记录—ProTable的使用(三)
一、 自定义检索条件部分列表页需要做一些简单的数据汇总统计,并能够跟随检索条件自动变化,protable自带的功能没有找到对应的实现方法,最后决定自己来实现这个功能。1、关闭ProTable自带检索功能search={false}2、自定义检索表单在ProTable上方加入自定义表单&lt;Card&nbsp;bordered={false}&nbsp;style={{&nbsp;marginBottom:&nbsp;15&nbsp;}}&gt; &nbsp;&nbsp;&nbsp;&nbsp;
发表于:2024-02-20 浏览:477 TAG:
【AntDesignPro】Ant Design Pro学习记录—ModalForm的使用(二)
&nbsp;目录一、ModalForm高度设置二、ModalForm点击阴影背景,不隐藏弹框三、ProFormSelect联动四、ProFormText关联赋值一、ModalForm高度设置在modalProps中设置bodyStyle:{height:500,overflowY:&#39;scroll&#39;}编辑效果如下:编辑二、ModalForm点击阴影背景,不隐藏弹框同样在modalProps里面,配置maskClosable: false,就可以实现点击弹框外阴影,不隐藏弹框&lt;
发表于:2023-11-28 浏览:1178 TAG:
【AntDesignPro】Ant Design Pro学习记录—DrawerForm的使用
在AntDesignPro中,ModalForm和DrawerForm是我最常用的两个表单组件,配置上,他们有很多相同的地方,也有差异的地方,相比较而言,DrawerForm我使用的更多。ModalForm&lt;ModalForm &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;title={标题} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width={600} &nbsp;&nbsp;&amp;n
发表于:2024-05-17 浏览:461 TAG:
【AntDesignPro】Ant Design Pro学习记录—ModalForm的使用(四)
一、 ModalForm自定义footer按钮参考官网,Modal弹框是可以自定义按钮的,原想着ModalForm的modalprops可以设置自定义footer,结果设置一直不生效,最终还是使用Modal嵌套了ProForm实现了功能,在此记录一下。ant design pro使用的V5版本。1、Modal自定义footer参考官网https://ant-design.antgroup.com/components/modal-cn?from=msidevs.net#components-mo
发表于:2024-02-20 浏览:354 TAG:
【React】如何在 React 类中声明常量?
使用 react 开发应用程序时,有必要声明常量来存储在组件或应用程序的整个生命周期中保持不变的值。常量可以帮助提高代码可读性,提供管理共享值的中心位置,并增强可维护性。在本文中,我们将探讨如何在 react 类组件中声明常量。导入 React首先,我们假设您已经设置了 React 环境并且有一个可供使用的类组件。在声明常量之前,请确保您已导入必要的库。这包括导入 React,它是在 React 中构建用户界面的核心库。import&nbsp;React&nbsp;from&nbsp;&#39;
发表于:2024-04-16 浏览:297 TAG:
【AntDesignPro】Ant Design Pro学习记录—搭建AntDesignPro脚手架
文章目录前言一、操作过程1.初始化2.完成后配置软连接3.继续执行4.进入应用5.安装依赖6.启动前言工作项目需要,使用了AntDesignPro开发,在此做一个学习研究记录。一、操作过程参考官网开始使用 - Ant Design Pro🏆 让中后台开发更简单 包含 table form 等多个组件。https://pro.ant.design/zh-CN/docs/getting-started在node.js npm yarn 环境配置好之后,按照官网操作运行1.初始化npm
发表于:2023-11-22 浏览:581 TAG: #前端 #antd #AntDesignPro
【React】react面试题
React面试题文章目录React面试题一、react特性***React与Vue的区别*******1. Jsx的使用规范*******1.说说对 React 的理解?有哪些特性?DOM2.说说 Real DOM 和 Virtual DOM 的区别?优缺点?*******说说React中的虚拟dom?在虚拟dom计算的时候diff和key之间有什么关系*******3.说说React Jsx转换成真实DOM过程?4.说说你第mvc和mvvm的理解5.说说react中引入css的方式有哪几种?区
发表于:2023-12-05 浏览:1401 TAG:
【AntDesignPro】Ant Design Pro学习记录—ProTable的使用(一)
目录一、关于ProTable二、使用步骤1.新建页面2.修改接口3.接口调用4.数据显示和检索1)不同类型内容显示2)列表检索3)列表内容样式设置5.其它1)render的简单使用2)图片点击预览3)翻页总结前言因为项目需要,确定了Ant Design Pro框架来开发后台管理端,刚接触这套框架,而且配套的资料真的很少,只能基于官方demo和网上不完整的学习经验一次次尝试,终于有个像样的结果,记录一下研究学习的成果,也给需要的同学一些帮助。本次学习研究基于Ant Design Pro V5版本,
发表于:2023-11-28 浏览:818 TAG: #前端 #antd #AntDesignPro
【React】 react 绘制矩形
在React中绘制矩形,可以使用HTML5的&lt;canvas&gt;元素结合React组件的生命周期方法来实现。以下是一个简单的React组件示例,用于绘制矩形:import&nbsp;React,&nbsp;{&nbsp;Component&nbsp;}&nbsp;from&nbsp;&#39;react&#39;; &nbsp; class&nbsp;Rectangle&nbsp;extends&nbsp;Component&nbsp;{ &nbsp;&nbsp;componentDid
发表于:2024-04-01 浏览:306 TAG: