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

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

CrazyPanda发表于:2023-11-28 21:19:40浏览:817次TAG: #前端 #antd #AntDesignPro

 

目录

一、关于ProTable

二、使用步骤

1.新建页面

2.修改接口

3.接口调用

4.数据显示和检索

1)不同类型内容显示

2)列表检索

3)列表内容样式设置

5.其它

1)render的简单使用

2)图片点击预览

3)翻页

总结


 


前言

因为项目需要,确定了Ant Design Pro框架来开发后台管理端,刚接触这套框架,而且配套的资料真的很少,只能基于官方demo和网上不完整的学习经验一次次尝试,终于有个像样的结果,记录一下研究学习的成果,也给需要的同学一些帮助。

本次学习研究基于Ant Design Pro V5版本,其它版本没有研究,开发工具VsCode。


一、关于ProTable

刚接触,概念性的东西不是很了解,或许以后补充吧,有需要的可自行查找。

至于为什么要用protable,因为官网给的demo就是protable,照葫芦画瓢,做着快,是否有其它的table,还没有了解。

二、使用步骤

1.新建页面

简单操作,直接将demo示例的TableList复制一份,修改文件夹的名字,配置好路由,页面就能出来了,这时候页面还是官网demo页面。

2.修改接口

需要服务端配合提供对应的接口,接口代理这里不在记录。

下面是TableList引入的原接口

import { addRule, removeRule, rule, updateRule } from '@/services/ant-design-pro/api';

然后查看具体的接口API,api在接口文件src\services\ant-design-pro\api.ts文件

(查看快捷方式ctrl + 鼠标左键,大部分内容都是靠自己查看各个属性然后一次次尝试出来的)

/** 获取规则列表 GET /api/rule */export async function rule(
  params: {
    // query
    /** 当前的页码 */
    current?: number;
    /** 页面的容量 */
    pageSize?: number;
  },
  options?: { [key: string]: any },) {  return request<API.RuleList>(host + '/api/rule', {    method: 'GET',    params: {
      ...params,
    },
    ...(options || {}),
  });
}

复制列表接口,把名称、接口连接、返回参数改成自己的,返回参数参考API.RuleList,同样复制一份,改成自己的名字,返回参数定义有两块,一个时RuleList,另一个时RuleListItem,都复制改成自己的,我这里改成CategoryList 和CategoryListItem

下面是我自己的接口

/** 获取一级分类列表 */export async function category(
  params: {
    // query
    /** 当前的页码 */
    current?: number;
    /** 页面的容量 */
    pageSize?: number;
  },
  options?: { [key: string]: any },) {  return request<API.CategoryList>(host + '/hkservice/category/category_list', {    method: 'GET',    params: {
      ...params,
    },
    ...(options || {}),
  });
}

最后返回新建的页面,把写好的API引入

import { category } from '@/services/ant-design-pro/api';

3.接口调用

对于新手来说,追踪接口的调用和实现真的麻烦,这里直接在原列表做修改就行

先把页面中API.RuleList和API.RuleListItem,全部替换成自己的

把原来的接口rule换成自己新写的接口名称

1.png

到这一步,只要接口本身没问题,数据是可以正常请求到的

4.数据显示和检索

修改demo定义的columns列表数据,对应自己的接口返回参数即可,如果要做国际化,可学习demo在双src\locales\文件夹下各语言pages.ts中配置自己的内容,使用方式和demo给出的一样

2.png

 如果不需要配置国际化,可直接写title内容

3.png

1)不同类型内容显示

不同类型字段的显示问题,可配置valueType,可通过查看valueType属性,配置自己需要的值,比如

显示图片,就配置valueType:'image',

显示进度条 valueType:'progress'

百分比 valueType:'percent'

金额 valueType:'money'

日期 valueType:'date',会格式化为年月日显示,对应检索条件也是只选择年月日

或时间valueType:'dateTime',会格式化为年月日时分秒显示,对应检索条件是时间选择框

时间范围valueType:'dateRange',对应检索条件时时间范围选择框

2)列表检索

protable配置完成后,内容都默认是检索的,会自动生成检索框。

如果不需要检索,可配置hideInsearch:true,当然检索字段需要服务端接口支持对应的检索才行。

不同的类型对应的检索条件也不同,默认是文本检索,遍历值对应的下拉框检索,会列出可选值,时间类型对应时间选择控件。

对于显示单个时间,而需要使用时间范围检索的情况,可参考ant.design pro 发布时间对应两个参数值_Coninsi"的博客-CSDN博客

使用render设置列表显示的值,使用search设置检索提交的值

4.png

 5.png

 6.png

3)列表内容样式设置

使用fieldProps,可配置列表内容样式,比如设置了valueType:'image',然后在使用fieldProps设置图片显示的宽高,如下

{
      title: '人员头像',
      dataIndex: 'headimg',
      valueType: 'image',
      width: 100,
      fieldProps: { width: 32, height: 32 },
},

5.其它

1)render的简单使用

TableList例子中有个render方法,目前没有深入研究,只是参考着用,参数record记录了这行的值,比如在我不知道valueType可配置image属性的时候,我要显示图片怎么办,就做了如下操作,自己写一个图片,效果如上图,这里一定要配置key,否则虽然页面能出来,但是会报错(新手易犯错)

7.png

2)图片点击预览

列3自定义预览图片,需要引入Image,参考官网示例图片 Image - Ant Design

8.png

9png.png

3)翻页

这个需要接口支持,参考TableList,参数定义API.RuleList的时候,服务端接口返回数据加上total就可以了


总结

ProTable在持续学习研究中,会不断更新,欢迎大家留言共同讨论学习

 

 

猜你喜欢

【AntDesignPro】使用高德地图设置考勤区域
参考高德开放平台https://lbs.amap.com/api/javascript-api-v2/guide/abc/amap-react功能要求:使用AntDesignPro开发系统管理端,考勤模块需要设置APP考勤打卡区域,需要页面显示地图定位并设置考勤范围(地图上画圈),以便APP在画圈范围内打卡使用。1、 准备2、 下载react类组件代码参考官网流程,可正常加载出地图组件,下面是我的页面和组件文件组件文件3、 安装并引入AmAP Loadernpm&nbsp;i&nbsp;@ama
发表于:2023-12-14 浏览:737 TAG:
【AntDesignPro】Ant Design Pro学习记录—ModalForm的使用(一)
目录前言一、ModalForm销毁二、ModalForm编辑赋值三、ProFormUploadButton赋值四、其它总结前言使用了AntDesignPro,仿照TableList创建了自己的列表,列表添加编辑确成了困扰,添加编辑使用了ModalForm,有两个问题,一个使用后,页面数据无法清除,再点弹框还是原来的数据,第二个编辑的时候,初始数据赋值问题。AntDesignPro版本V5,开发工具VsCode。一、ModalForm销毁参考ant design的关闭ModalForm和Modal
发表于:2023-11-28 浏览:630 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 浏览:353 TAG:
【React】使用React实现一个内容滑动组件
最近在做项目时遇到一个需求,需要让一个列表能够通过点击按钮进行滚动,每次都是一屏的距离,不足则结束。并且,这个列表项是在react-grid-layout中的某一个模块内。所以包裹这个列表的容器会随时发生变化。在完成这个组件后,通过这篇文章总结一下。UI/原型分析那么从上面的功能描述以及项目中的UI,我们可以分析得到这样一个假想图:我们需要实现一个容器来作为我们的可视区域,并且这个容器是可以伸缩的。列表内容如果超出容器的可视区域,那么就会被隐藏。需要左右都有按钮,来支持用户左右滑动内容来查看,每
发表于:2024-04-10 浏览:317 TAG:
【AntDesignPro】Ant Design Pro学习记录—ModalForm的使用(三)
一、 Form.useForm()的使用之前使用表单的时候,一直在为表单赋值纠结,找了一些资料,也感觉很复杂,使用多了之后,感觉表单赋值也挺简单的。1、 创建一个formconst&nbsp;[theForm]&nbsp;=&nbsp;Form.useForm();2、 绑定表单组件无论是ProForm、ModalForm、还是DrawerForm,都可以绑定我们的theForm,使用属性form={theForm}绑定,代码如下&lt;ProForm &nbsp;&nbsp;&nbsp;&amp;nb
发表于:2024-02-20 浏览:465 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中Typecript的使用
目录一、创建React的TypeScript项目二、使用差别1、基本使用2、Props传值的差别3、State传参三、总结一、创建React的TypeScript项目见:如何在React项目中引入TypeScript?_duansamve的博客-CSDN博客二、使用差别1、基本使用其基本使用和javascript编写React项目时差不多这是一份.tsx文件代码:可以看到和之前的.jsx使用并无太大差别import&nbsp;React,&nbsp;{&nbsp;Component&nbsp;}
发表于:2023-12-05 浏览:689 TAG:
【AntDesignPro】Ant Design Pro学习记录—前后端分离跨域设置,解决跨域session不一致
目录前言一、为什么跨域二、跨域配置三、跨域请求session不一致前言第一次做前后端分离,也是踩了很多坑,记录一下AntDesignPro跨域解决的方式。服务器系统使用Nginx,服务端使用thinkphp6。AntDesignPro正式build放到服务器上后,提示登录成功,但一直登录不上,后来发现是跨域session不同导致的,登录的时候session和登录成功后session的id不同,导致提示登录成功,就是登录不进去的情况。一、为什么跨域不想知道为什么要跨域,只想知道怎么解决。二、跨域配
发表于:2023-11-28 浏览:551 TAG:
【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学习记录—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: