Basic pagination.

expand codeexpand code
import { Pagination } from 'antd';

ReactDOM.render(<Pagination defaultCurrent={1} total={50} />, mountNode);
  • Rows per page
    10
  • Showing 51-60 of 500
6
of 50 page
  • More pages.

    expand codeexpand code
    import { Pagination } from 'antd';
    
    ReactDOM.render(<Pagination defaultCurrent={6} total={500} />, mountNode);
    • Rows per page
      10
    • Showing 21-30 of 500
    3
    of 50 page

  • 3
    of 50 page
  • Change pageSize.

    expand codeexpand code
    import { Pagination } from 'antd';
    
    function onShowSizeChange(current, pageSize) {
      console.log(current, pageSize);
    }
    
    ReactDOM.render(
      <>
        <Pagination
          showSizeChanger
          onShowSizeChange={onShowSizeChange}
          defaultCurrent={3}
          total={500}
        />
        <br />
        <Pagination
          showSizeChanger
          onShowSizeChange={onShowSizeChange}
          defaultCurrent={3}
          total={500}
          disabled
        />
      </>,
      mountNode,
    );
    • Rows per page
      10
    • Showing 11-20 of 500
    2
    of 50 page

  • Jumper

    Jump to a page directly.

    expand codeexpand code
    import { Pagination } from 'antd';
    
    function onChange(pageNumber) {
      console.log('Page: ', pageNumber);
    }
    
    ReactDOM.render(
      <>
        <Pagination showQuickJumper defaultCurrent={2} total={500} onChange={onChange} />
        <br />
        <Pagination showQuickJumper defaultCurrent={2} total={500} onChange={onChange} disabled />
      </>,
      mountNode,
    );

    Mini size pagination.

    expand codeexpand code
    import { Pagination } from 'antd';
    
    function showTotal(total) {
      return `Total ${total} items`;
    }
    
    ReactDOM.render(
      <>
        <Pagination size="small" total={50} />
        <Pagination size="small" total={50} showSizeChanger showQuickJumper />
        <Pagination size="small" total={50} showTotal={showTotal} />
        <Pagination
          size="small"
          total={50}
          disabled
          showTotal={showTotal}
          showSizeChanger
          showQuickJumper
        />
      </>,
      mountNode,
    );

    Simple mode.

    expand codeexpand code
    import { Pagination } from 'antd';
    
    ReactDOM.render(
      <>
        <Pagination simple defaultCurrent={2} total={50} />
        <br />
        <Pagination disabled simple defaultCurrent={2} total={50} />
      </>,
      mountNode,
    );

    Controlled page number.

    expand codeexpand code
    import { Pagination } from 'antd';
    
    class App extends React.Component {
      state = {
        current: 3,
      };
    
      onChange = page => {
        console.log(page);
        this.setState({
          current: page,
        });
      };
    
      render() {
        return <Pagination current={this.state.current} onChange={this.onChange} total={50} />;
      }
    }
    
    ReactDOM.render(<App />, mountNode);

    You can show the total number of data by setting showTotal.

    expand codeexpand code
    import { Pagination } from 'antd';
    
    ReactDOM.render(
      <>
        <Pagination
          total={85}
          showTotal={total => `Total ${total} items`}
          defaultPageSize={20}
          defaultCurrent={1}
        />
        <br />
        <Pagination
          total={85}
          showTotal={(total, range) => `${range[0]}-${range[1]} of ${total} items`}
          defaultPageSize={20}
          defaultCurrent={1}
        />
      </>,
      mountNode,
    );

    Show all configured prop.

    expand codeexpand code
    import { Pagination } from 'antd';
    
    ReactDOM.render(
      <Pagination
        total={85}
        showSizeChanger
        showQuickJumper
        showTotal={total => `Total ${total} items`}
      />,
      mountNode,
    );

    Use text link for prev and next button.

    expand codeexpand code
    import { Pagination } from 'antd';
    
    function itemRender(current, type, originalElement) {
      if (type === 'prev') {
        return <a>Previous</a>;
      }
      if (type === 'next') {
        return <a>Next</a>;
      }
      return originalElement;
    }
    
    ReactDOM.render(<Pagination total={500} itemRender={itemRender} />, mountNode);

    API#

    <Pagination onChange={onChange} total={50} />
    PropertyDescriptionTypeDefaultVersion
    currentCurrent page numbernumber-
    defaultCurrentDefault initial page numbernumber1
    defaultPageSizeDefault number of data items per pagenumber10
    disabledDisable paginationboolean-
    hideOnSinglePageWhether to hide pager on single pagebooleanfalse
    itemRenderTo customize item's innerHTML(page, type: 'page' | 'prev' | 'next', originalElement) => React.ReactNode-
    pageSizeNumber of data items per pagenumber-
    pageSizeOptionsSpecify the sizeChanger optionsstring[][10, 20, 50, 100]
    responsiveIf size is not specified, Pagination would resize according to the width of the windowboolean-
    showLessItemsShow less page itemsbooleanfalse
    showQuickJumperDetermine whether you can jump to pages directlyboolean | { goButton: ReactNode }false
    showSizeChangerDetermine whether to show pageSize select, it will be true when total > 50boolean-
    showTitleShow page item's titlebooleantrue
    showTotalTo display the total number and rangefunction(total, range)-
    simpleWhether to use simple modeboolean-
    sizeSpecify the size of Pagination, can be set to smalldefault | smalldefault
    totalTotal number of data itemsnumber0
    onChangeCalled when the page number or pageSize is changed, and it takes the resulting page number and pageSize as its argumentsfunction(page, pageSize)-
    onShowSizeChangeCalled when pageSize is changedfunction(current, size)-