Pagination 分页

采用分页的形式分隔长列表,每次只加载一个页面。

何时使用#

  • 当加载/渲染所有数据将花费很多时间时;
  • 可切换页码浏览数据。

API#

<Pagination onChange={onChange} total={50} />
参数 说明 类型 默认值
current 当前页数 Number
defaultCurrent 默认的当前页数 Number 1
total 数据总数 Number 0
pageSize 每页条数 Number 10
onChange 页码改变的回调,参数是改变后的页码 Function noop
showSizeChanger 是否可以改变 pageSize Bool false
onShowSizeChange pageSize 变化的回调 Function noop
showQuickJumper 是否可以快速跳转至某页 Bool false
size 当为「small」时,是小尺寸分页 String ""
simple 当添加该属性时,显示为简单分页 Object

代码演示

import { Pagination } from 'antd';

ReactDOM.render(
  <Pagination defaultCurrent={1} total={50} />,
 document.getElementById('components-pagination-demo-basic'));

基础分页。

import { Pagination } from 'antd';

function onShowSizeChange(current, pageSize) {
  console.log(current, pageSize);
}

ReactDOM.render(
  <Pagination showSizeChanger onShowSizeChange={onShowSizeChange} defaultCurrent={3} total={500} />,
 document.getElementById('components-pagination-demo-changer'));

改变每页显示条目数。

import { Pagination } from 'antd';

ReactDOM.render(
  <Pagination size="small" defaultCurrent={2} total={50} />,
 document.getElementById('components-pagination-demo-mini'));

迷你版本。

import { Pagination } from 'antd';
import enUS from 'antd/lib/pagination/locale/en_US';

ReactDOM.render(
  <Pagination defaultCurrent={1} total={50} locale={enUS} />,
 document.getElementById('components-pagination-demo-locale'));

通过 locale 配置时区、语言等, 默认支持 en_US, zh_CN

import { Pagination } from 'antd';

ReactDOM.render(
  <Pagination defaultCurrent={1} total={500} />,
 document.getElementById('components-pagination-demo-more'));

更多分页。

import { Pagination } from 'antd';

ReactDOM.render(
  <Pagination showQuickJumper defaultCurrent={2} total={500} />,
 document.getElementById('components-pagination-demo-jump'));

快速跳转到某一页。

import { Pagination } from 'antd';

ReactDOM.render(
  <Pagination simple defaultCurrent={2} total={50} />,
document.getElementById('components-pagination-demo-simple'));

简单地翻页。

import { Pagination } from 'antd';

let Container = React.createClass({
  getInitialState() {
    return {
      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(
<Container />,
document.getElementById('components-pagination-demo-controlled'));

受控制的页码。