antd中使用Table手动进行分页

<Table<DataType>
          //获取勾选中的数据
          rowSelection={rowSelection}
          //当列过多时,固定某些列,实现左右滑动
          scroll={{ x: 'max-content' }}
          //字段名
          columns={columns}
          // rowKey={(record) => record.login.uuid}
          //每一行唯一的标识,也是勾选中拿到的数据
          rowKey={(record) => record}
          //后端接口返回的数据,在这里进行赋值,数组
          dataSource={data}
          //设置分页
          pagination={{
            // 设置总条数
            total: tableParams.total,
            //是否显示分页器
            showSizeChanger: true,
            //是否可以快速跳转至某页
            showQuickJumper: true,
            //对分页文字的样式进行修改
            showTotal: (total) => {
               return (
                  <span
                     style={{
                        fontSize: 16,
                        color: '#264653',
                        fontFamily: "微软雅黑",
                     }}
                   >共{total}条数据</span>
              )
           },
           //每页条数
           pageSize:tableParams.per_page,
           //点击第二页,第三页触发的事件(切换分页时触发的事件,这里可以获取到点击的分页,和每页的数据的参数)
           onChange: ((page, pageSize) => {
            console.log(page,'page111',pageSize)
            //修改分页,初始化了分页的数据,这里进行修改
            setTableParams({
                  page: page,
                  per_page: pageSize
            }, () => {
              fetchData()
            })
        }),
        // 点击了每页多少条的按钮,触发的事件
        onShowSizeChange: onshuju


          }}
          //添加加载时的loading
          loading={loading}
          style={{ tableLayout: 'fixed' }}
          
        />

方法事件

//定义加载动画效果
const [loading, setLoading] = useState(false);

//定义初始化分页的数据
const [tableParams, setTableParams] = useState<TableParams>({
  
      page: 1,
      per_page: 10,
  });
//定义接口返回的数据
const [data, setData] = useState<DataType[]>();
// 定义勾选中的选中的数据
const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([]);
 //编写调用接口的逻辑
  const fetchData = async() => {
    setLoading(true);
   const res= await UserList(tableParams)
   
   setData(res.data.results)
//对分页进行处理,以及添加总条数
   setTableParams({
     ...tableParams,
     total: res.data.total_count
   })
   setLoading(false);
  };
    //当点击别的页面,以及选择一页多少条时,重新刷新接口
  useEffect(() =>{
    fetchData()
  },[tableParams.page,tableParams.per_page])

//勾选中的数据事件(一起用和下面的事件)
  const onSelectChange = (newSelectedRowKeys: React.Key[]) => {
    console.log('selectedRowKeys changed: ', newSelectedRowKeys);
    setSelectedRowKeys(newSelectedRowKeys);
  };
//勾选中的数据事件
  const rowSelection: TableRowSelection<DataType> = {
    selectedRowKeys,
    onChange: onSelectChange,
  };






//点击了每页多少条,触发的事件,修改分页
 const onshuju = (page:number,pageSize:number) =>{
      setTableParams({
        page: page,
        per_page: pageSize
      })
  }
定义接口限制类型

interface DataType {
  page:string,
  // key: React.Key;
  title: string;
  status: number;
  read_count:string;
  id:string;
  pubdate:string;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/919824.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

nodejs21: 快速构建自定义设计样式Tailwind CSS

Tailwind CSS 是一个功能强大的低级 CSS 框架&#xff0c;只需书写 HTML 代码&#xff0c;无需书写 CSS&#xff0c;即可快速构建美观的网站。 1. 安装 Tailwind CSS React 项目中安装 Tailwind CSS&#xff1a; 1.1 安装 Tailwind CSS 和相关依赖 安装 Tailwind CSS: npm…

Java开发经验——JDK工具类的安全问题

摘要 本文探讨了Java开发中JDK工具类的安全问题&#xff0c;重点分析了不同工具类&#xff08;包括Java自带的Objects工具类、Apache Commons Lang、Guava和Spring Framework的ObjectUtils&#xff09;在比较对象相等性时的使用方法和优势。同时&#xff0c;文章还涉及了Integ…

web——sqliabs靶场——第十四关——布尔盲注的使用

第一步、判断注入条件 输入#看看闭合条件 是双引号闭合。 由此可以确定&#xff0c;页面存在注入&#xff0c;注入点为双引号字符型注入。 开脚本

Python Turtle绘图:重现汤姆劈树的经典瞬间

Python Turtle绘图&#xff1a;重现汤姆劈树的经典瞬间 &#x1f980; 前言 &#x1f980;&#x1f40b; 效果图 &#x1f40b;&#x1f409; 代码 &#x1f409; &#x1f980; 前言 &#x1f980; 《汤姆与杰瑞》&#xff08;Tom and Jerry&#xff09;是我们小时候经常看的一…

论文分享 | FuzzLLM:一种用于发现大语言模型中越狱漏洞的通用模糊测试框架

大语言模型是当前人工智能领域的前沿研究方向&#xff0c;在安全性方面大语言模型存在一些挑战和问题。分享一篇发表于2024年ICASSP会议的论文FuzzLLM&#xff0c;它设计了一种模糊测试框架&#xff0c;利用模型的能力去测试模型对越狱攻击的防护水平。 论文摘要 大语言模型中…

Spring工作流程

&#xff08;3&#xff09;案例工作流程 启动服务器初始化过程 1.服务器启动&#xff0c;执行ServletContainersInitConfig类&#xff0c;初始化web容器功能类似于以前的web.xml 2.执行createServletApplicationContext方法&#xff0c;创建了WebApplicationContext对象 该方法…

python蓝桥杯刷题2

1.最短路 题解&#xff1a;这个采用暴力枚举&#xff0c;自己数一下就好了 2.门牌制作 题解&#xff1a;门牌号从1到2020&#xff0c;使用for循环遍历一遍&#xff0c;因为range函数无法调用最后一个数字&#xff0c;所以设置成1到2021即可&#xff0c;然后每一次for循环&…

【设计模式】如何用C++实现适配器模式

【设计模式】如何用C实现适配器模式 一、问题背景 用到过很多次适配器模式&#xff0c;一直不理解为什么用这种模式&#xff0c;好像这个模式天生就该如此使用。 实际上&#xff0c;我们很多的理念都源于一些简朴的思想&#xff0c;这些思想不一定高深&#xff0c;但是在保证…

深入探讨 Puppeteer 如何使用 X 和 Y 坐标实现鼠标移动

背景介绍 现代爬虫技术中&#xff0c;模拟人类行为已成为绕过反爬虫系统的关键策略之一。无论是模拟用户点击、滚动&#xff0c;还是鼠标的轨迹移动&#xff0c;都可以为爬虫脚本带来更高的“伪装性”。在众多的自动化工具中&#xff0c;Puppeteer作为一个无头浏览器控制库&am…

ubuntu 16.04 中 VS2019 跨平台开发环境配置

su 是 “switch user” 的缩写&#xff0c;表示从当前用户切换到另一个用户。 sudo 是 “superuser do” 的缩写&#xff0c;意为“以超级用户身份执行”。 apt 是 “Advanced Package Tool” 的缩写&#xff0c;Ubuntu中用于软件包管理的命令行工具。 1、为 root 用户设置密码…

如何保证MySQL与Redis缓存的数据一致性?

文章目录 一、引言二、场景来源三、高并发解决方案1. 先更新缓存&#xff0c;再更新数据库2. 先更新数据库&#xff0c;再更新缓存3. 先删除缓存&#xff0c;再更新数据库4. 先更新数据库&#xff0c;再删除缓存小结 四、拓展方案1. 分布式锁与分布式事务2. 消息队列3. 监听bin…

论文阅读——Intrusion detection systems using longshort‑term memory (LSTM)

一.基本信息 论文名称&#xff1a;Intrusion detection systems using longshort‑term memory (LSTM) 中文翻译&#xff1a;基于长短期记忆(LSTM)的入侵检测系统 DOI&#xff1a;10.1186/s40537-021-00448-4 作者&#xff1a;FatimaEzzahra Laghrissi1* , Samira Douzi2*, Kha…

【网络系统管理】Centos7——配置主从mariadb服务器案例(下半部分)

【网络系统管理】Centos7——配置主从mariadb服务器案例-CSDN博客 接上个文档&#xff0c;我们已经完成了主服务器创建数据库备服务器可以看到 一、在DBMS2查看信息 File&#xff0c;Position这两个字段的数据要记好&#xff0c;等一下需要用到 show master status; 二、在…

Flowable工作流 -> 数据存储 -> 表结构梳理

一 前言 初学工作流&#xff0c;我发现集成SpringBoot之后&#xff0c;工作流的各项操作都比较简单&#xff0c;引擎&#xff0c;工作Service这些&#xff0c;直接自动装配即可。流程的定义&#xff08;部署&#xff09;&#xff0c;流程实例启动&#xff0c;实例任务…

机器翻译基础与模型 之一: 基于RNN的模型

一、机器翻译发展历程 基于规则的-->基于实例的-->基于统计方法的-->基于神经网络的 传统统计机器翻译把词序列看作离散空间里的由多个特征函数描述的点&#xff0c;类似 于 n-gram 语言模型&#xff0c;这类模型对数据稀疏问题非常敏感。神经机器翻译把文字序列表示…

【优选算法篇】分治乾坤,万物归一:在重组中窥见无声的秩序

文章目录 分治专题&#xff08;二&#xff09;&#xff1a;归并排序的核心思想与进阶应用前言、第二章&#xff1a;归并排序的应用与延展2.1 归并排序&#xff08;medium&#xff09;解法&#xff08;归并排序&#xff09;C 代码实现易错点提示时间复杂度和空间复杂度 2.2 数组…

DrugLLM——利用大规模语言模型通过 Few-Shot 生成生物制药小分子

摘要 小分子由于能够与特定的生物靶点结合并调节其功能&#xff0c;因此在药物发现领域发挥着至关重要的作用。根据美国食品和药物管理局&#xff08;FDA&#xff09;过去十年的审批记录&#xff0c;小分子药物占所有获批上市药物的 76%。小分子药物的特点是合成相对容易&…

「一」HarmonyOS端云一体化概要

关于作者 白晓明 宁夏图尔科技有限公司董事长兼CEO、坚果派联合创始人 华为HDE、润和软件HiHope社区专家、鸿蒙KOL、仓颉KOL 华为开发者学堂/51CTO学堂/CSDN学堂认证讲师 开放原子开源基金会2023开源贡献之星 「目录」 「一」HarmonyOS端云一体化概要 「二」体验HarmonyOS端云一…

架构师:使用 Atomix 实现分布式协调服务的技术指南

1、简述 Atomix 是一个强大的分布式协调框架,提供了分布式数据结构、协调工具和一致性协议,帮助开发者实现高可用、强一致性的分布式系统。它构建于 Raft 和 Paxos 等一致性协议之上,支持创建分布式锁、Leader 选举、分布式 Map、消息发布-订阅等功能,常用于微服务架构和分…

根据条件 控制layui的table的toolbar的按钮 显示和不显示

部分代码&#xff1a; <!-----查询条件-----> <input type"date" id"StartDate" onchange"PageList()" /> <input type"date" id"EndDate" onchange"PageList()" /><!-----表格Table-----&…