【AntDesignPro】Ant Design Pro学习记录—ProTable的使用(三)
CrazyPanda发表于:2024-02-20 16:25:54浏览:483次
一、 自定义检索条件
部分列表页需要做一些简单的数据汇总统计,并能够跟随检索条件自动变化,protable自带的功能没有找到对应的实现方法,最后决定自己来实现这个功能。
1、关闭ProTable自带检索功能
search={false}
2、自定义检索表单
在ProTable上方加入自定义表单
<Card bordered={false} style={{ marginBottom: 15 }}> <ProForm hideRequiredMark style={{ marginTop: 8 }} layout="inline" onFinish={async (value) => { console.log(value); if (value.projects) { setProjectsData(value.projects.join(',')); } if (value.month_start && value.month_end) { if (value.month_start > value.month_end) { message.error('开始月份不能大于结束月份'); return false; } } setMonthStartData(value.month_start); setMonthEndData(value.month_end); monthTotal({ projects: value.projects ? value.projects.join(',') : '', month_start: value.month_start, month_end: value.month_end, }).then((res) => { console.log(res); setData(res?.data); }); if (actionRef.current) { actionRef.current?.reload(); } }} submitter={{ searchConfig: { resetText: '', }, }} > <ProFormSelect name="projects" label="项目名称" options={projectSelect} placeholder="请选择项目" mode="multiple" style={{ minWidth: 200 }} /> <ProFormDatePicker.Month name="month_start" label="开始月份" width={200} placeholder="请选择开始月份" /> <ProFormDatePicker.Month name="month_end" label="结束月份" width={200} placeholder="请选择结束月份" /> </ProForm> </Card>
这里需要配置ProForm的样式
layout="inline"
这样可以保证表单内容横向排列。
3、定义检索字段
把需要的检索条件都存储起来。
const [projectsData, setProjectsData] = useState<[]>(); const [monthStartData, setMonthStartData] = useState<[]>(); const [monthEndData, setMonthEndData] = useState<[]>();
然后再表单的提交方法里面onFinish,给这写内容赋值,同事调用数据统计的方法,将参数传过去获取新的统计结果。
4、 更新列表数据
在Proform的onFinish方法里面,给检索条件赋值成功后,刷新列表
if (actionRef.current) { actionRef.current?.reload(); }
这个刷新需要给ProForm配置actionRef属性
<ProTable<API.CompanyList, API.PageParams> actionRef={actionRef} rowKey="key" search={false} request={async (params) => { params['projects'] = projectsData ? projectsData : ''; params['month_start'] = monthStartData; params['month_end'] = monthEndData; const res = await monthCount(params); return res; }} columns={columns} />
这里我们在request的时候,将自定义的检索条件都给加到原参数上,然后调用列表数据接口,更新数据。
这样就完成了,在点击表单提交按钮的时候,获取汇总统计数据,同时刷新列表。展示效果如下:
有需要的还可以给自定义表单设置重置按钮,同时在reset方法里面同样给检索条件赋值,然后刷新表单即可。
猜你喜欢
- 【AntDesignPro】Ant Design Pro学习记录—自定义菜单选中
- 页面增删改查,打开子页面时,要让父页面菜单选中,参考官网给出的方案菜单的高级用法 - Ant Design Pro 使用的V5版本,直接设置 parentKeys:['/product'] 即可export default [ { path: '/product', // 不展示菜单
- 【AntDesignPro】Ant Design Pro学习记录—ProTable的使用(二)
- 目录一、列表检索初始值设置二、字段缩略显示一、列表检索初始值设置使用initialValue属性,配置列表检索的初始值const columns: ProColumns<API.RoomItem>[] = [ { title: '名称', &nb
- 【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
- 【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
- 【AntDesignPro】Ant Design Pro学习记录—前后端分离跨域设置,解决跨域session不一致
- 目录前言一、为什么跨域二、跨域配置三、跨域请求session不一致前言第一次做前后端分离,也是踩了很多坑,记录一下AntDesignPro跨域解决的方式。服务器系统使用Nginx,服务端使用thinkphp6。AntDesignPro正式build放到服务器上后,提示登录成功,但一直登录不上,后来发现是跨域session不同导致的,登录的时候session和登录成功后session的id不同,导致提示登录成功,就是登录不进去的情况。一、为什么跨域不想知道为什么要跨域,只想知道怎么解决。二、跨域配
- 【React】16 个实用的 React 库
- Web开发中,经常会需要使用第三方库来提高开发效率。今天给大家分享16个非常实用的React第三方库,使用好这些库你可以更轻松、更快速的开发项目,让我们一起看看吧!1.react-hook-formReact-hook-form 是一个用于构建 Web 应用程序的表单库。它支持多种表单类型,包括输入框、下拉框、单选框、多选框等。它还提供了一些自定义选项,可以自定义表单的外观和行为。官方地址:https://react-hook-form.com/2.rechartsRecharts 是一个用于构
- 【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的方式有哪几种?区
- 【AntDesignPro】Ant Design Pro学习记录—ProTable的使用(三)
- 一、 自定义检索条件部分列表页需要做一些简单的数据汇总统计,并能够跟随检索条件自动变化,protable自带的功能没有找到对应的实现方法,最后决定自己来实现这个功能。1、关闭ProTable自带检索功能search={false}2、自定义检索表单在ProTable上方加入自定义表单<Card bordered={false} style={{ marginBottom: 15 }}>
栏目分类全部>
推荐文章
- 【PHP】PHP防止SQL注入的方法
- 【Python】快速入门Flask框架:构建简单而灵活的Web应用
- 【Redis】php中redis队列的使用
- 【Python】深入解析matplotlib安装教程:必须掌握的Python初学者指南
- 【网络】如何下载 Apache + PHP + Mysql 集成安装环境并结合内网穿透工具实现公网访问内网服务
- 【UniApp】如何在uniapp中实现图片上传和预览
- 【负载均衡】Nginx实现负载均衡的4种方式
- 【HTML】箩筐地图的使用,设置考勤范围
- 【Python】Pandas轻松读取SQL数据库中的数据
- 【AntDesignPro】Ant Design Pro学习记录—前后端分离跨域设置,解决跨域session不一致