【AntDesignPro】Ant Design Pro学习记录—ModalForm的使用(四)
CrazyPanda发表于:2024-02-20 17:27:07浏览:353次
一、 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,我们可以分析得到这样一个假想图:我们需要实现一个容器来作为我们的可视区域,并且这个容器是可以伸缩的。列表内容如果超出容器的可视区域,那么就会被隐藏。需要左右都有按钮,来支持用户左右滑动内容来查看,每
- 【AntDesignPro】Ant Design Pro学习记录—ProTable的使用(三)
- 一、 自定义检索条件部分列表页需要做一些简单的数据汇总统计,并能够跟随检索条件自动变化,protable自带的功能没有找到对应的实现方法,最后决定自己来实现这个功能。1、关闭ProTable自带检索功能search={false}2、自定义检索表单在ProTable上方加入自定义表单<Card bordered={false} style={{ marginBottom: 15 }}>
- 【AntDesignPro】Ant Design Pro学习记录—ModalForm的使用(二)
- 目录一、ModalForm高度设置二、ModalForm点击阴影背景,不隐藏弹框三、ProFormSelect联动四、ProFormText关联赋值一、ModalForm高度设置在modalProps中设置bodyStyle:{height:500,overflowY:'scroll'}编辑效果如下:编辑二、ModalForm点击阴影背景,不隐藏弹框同样在modalProps里面,配置maskClosable: false,就可以实现点击弹框外阴影,不隐藏弹框<
- 【AntDesignPro】Ant Design Pro学习记录—DrawerForm的使用
- 在AntDesignPro中,ModalForm和DrawerForm是我最常用的两个表单组件,配置上,他们有很多相同的地方,也有差异的地方,相比较而言,DrawerForm我使用的更多。ModalForm<ModalForm title={标题} width={600} &n
- 【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
- 【React】如何在 React 类中声明常量?
- 使用 react 开发应用程序时,有必要声明常量来存储在组件或应用程序的整个生命周期中保持不变的值。常量可以帮助提高代码可读性,提供管理共享值的中心位置,并增强可维护性。在本文中,我们将探讨如何在 react 类组件中声明常量。导入 React首先,我们假设您已经设置了 React 环境并且有一个可供使用的类组件。在声明常量之前,请确保您已导入必要的库。这包括导入 React,它是在 React 中构建用户界面的核心库。import React from '
- 【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
- 【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的方式有哪几种?区
栏目分类全部>