You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AntD Table点击分页时实现页面顶部滚动需求

AntD表格自定义分页后点击分页滚动至顶部解决方案

因为你设置了pagination={false},需要通过自定义分页组件实现点击分页时页面滚动到顶部的效果,具体实现如下:

  • 引入AntD的Pagination组件
  • 维护当前页码的状态
  • 在分页切换回调中,更新页码并触发页面滚动至顶部

完整代码示例:

import { Table, Pagination } from 'antd';
import { useState } from 'react';

const YourComponent = () => {
  const [currentPage, setCurrentPage] = useState(1);
  // 可根据实际需求调整每页条数
  const pageSize = 10;

  // 处理分页切换逻辑
  const handlePageChange = (page) => {
    setCurrentPage(page);
    // 滚动至页面顶部,behavior: 'smooth' 实现平滑滚动,可移除该参数
    window.scrollTo({
      top: 0,
      behavior: 'smooth'
    });
  };

  // 根据当前页码截取对应数据源,需结合你的业务逻辑调整
  const paginatedData = fixedData.slice(
    (currentPage - 1) * pageSize,
    currentPage * pageSize
  );

  return (
    <>
      <Table
        columns={fixedColumns}
        dataSource={paginatedData}
        pagination={false}
        scroll={{ x: 2000, y: 500 }}
        bordered
        summary={() => (
          <Table.Summary fixed>
            <Table.Summary.Row>
              <Table.Summary.Cell index={0}>Summary</Table.Summary.Cell>
              <Table.Summary.Cell index={1}>
                This is a summary content
              </Table.Summary.Cell>
            </Table.Summary.Row>
          </Table.Summary>
        )}
      />
      {/* 自定义分页组件,样式可根据页面布局调整 */}
      <div style={{ textAlign: 'right', marginTop: 16 }}>
        <Pagination
          current={currentPage}
          pageSize={pageSize}
          total={fixedData.length}
          onChange={handlePageChange}
        />
      </div>
    </>
  );
};

export default YourComponent;

关键说明

  • 数据源分页逻辑:根据currentPage和pageSize对完整数据fixedData进行切片,得到当前页展示的数据
  • 滚动操作:window.scrollTo直接触发页面回到顶部,平滑滚动效果可通过behavior参数控制
  • 分页组件样式:示例中设置为表格下方居右展示,可根据你的页面布局自行调整

内容的提问来源于stack exchange,提问作者Han KIen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 17:53:29