- Pagination分页
- 何时使用
- 代码演示
- API
- nz-paginationcomponent
Pagination分页
采用分页的形式分隔长列表,每次只加载一个页面。
何时使用
- 当加载/渲染所有数据将花费很多时间时;
-
可切换页码浏览数据。
- import { NzPaginationModule } from 'ng-zorro-antd/pagination';
代码演示

基本
基础分页。
1. import { Component } from '@angular/core';
2. 3. @Component({
4. selector: 'nz-demo-pagination-basic',
5. template: 6. <nz-pagination [nzPageIndex]="1" [nzTotal]="50"></nz-pagination>
7.
8. })
9. export class NzDemoPaginationBasicComponent {}

更多
更多分页。
1. import { Component } from '@angular/core';
2. 3. @Component({
4. selector: 'nz-demo-pagination-more',
5. template: 6. <nz-pagination [nzPageIndex]="1" [nzTotal]="500"></nz-pagination>
7.
8. })
9. export class NzDemoPaginationMoreComponent {}

改变
改变每页显示条目数。
1. import { Component } from '@angular/core';
2. 3. @Component({
4. selector: 'nz-demo-pagination-changer',
5. template: 6. <nz-pagination [nzPageIndex]="3" [nzTotal]="500" nzShowSizeChanger [nzPageSize]="10"></nz-pagination>
7. <br />
8. <nz-pagination [nzPageIndex]="3" [nzTotal]="500" nzShowSizeChanger [nzPageSize]="10" nzDisabled></nz-pagination>
9.
10. })
11. export class NzDemoPaginationChangerComponent {}

跳转
快速跳转到某一页。
1. import { Component } from '@angular/core';
2. 3. @Component({
4. selector: 'nz-demo-pagination-jump',
5. template: 6. <nz-pagination [nzPageIndex]="2" [nzTotal]="500" nzShowQuickJumper></nz-pagination>
7. <br />
8. <nz-pagination [nzPageIndex]="2" [nzTotal]="500" nzShowQuickJumper nzDisabled></nz-pagination>
9.
10. })
11. export class NzDemoPaginationJumpComponent {}

迷你
迷你版本。
1. import { Component } from '@angular/core';
2. 3. @Component({
4. selector: 'nz-demo-pagination-mini',
5. template: 6. <nz-pagination [(nzPageIndex)]="current" [nzTotal]="50" [nzSize]="'small'"></nz-pagination>
7. <br />
8. <nz-pagination [(nzPageIndex)]="current" [nzTotal]="50" [nzSize]="'small'" nzShowSizeChanger nzShowQuickJumper></nz-pagination>
9. <br />
10. <nz-pagination [(nzPageIndex)]="current" [nzTotal]="50" [nzSize]="'small'" [nzShowTotal]="totalTemplate"></nz-pagination>
11. <ng-template #totalTemplate let-total>Total {{ total }} items</ng-template>
12.
13. })
14. export class NzDemoPaginationMiniComponent {
15. current = 1;
16. }

简洁
简单的翻页。
1. import { Component } from '@angular/core';
2. 3. @Component({
4. selector: 'nz-demo-pagination-simple',
5. template: 6. <nz-pagination [nzPageIndex]="2" [nzTotal]="50" nzSimple></nz-pagination>
7.
8. })
9. export class NzDemoPaginationSimpleComponent {}

页码
改变页码。
1. import { Component } from '@angular/core';
2. 3. @Component({
4. selector: 'nz-demo-pagination-controlled',
5. template: 6. <nz-pagination [nzPageIndex]="3" [nzTotal]="50"></nz-pagination>
7.
8. })
9. export class NzDemoPaginationControlledComponent {}

总数
通过设置 nzShowTotal 展示总共有多少数据。
1. import { Component } from '@angular/core';
2. 3. @Component({
4. selector: 'nz-demo-pagination-total',
5. template: 6. <nz-pagination [nzPageIndex]="1" [nzTotal]="85" [nzPageSize]="20" [nzShowTotal]="totalTemplate"></nz-pagination>
7. <br />
8. <nz-pagination [nzPageIndex]="1" [nzTotal]="85" [nzPageSize]="20" [nzShowTotal]="rangeTemplate"></nz-pagination>
9. <ng-template #totalTemplate let-total> Total {{ total }} items </ng-template>
10. <ng-template #rangeTemplate let-range="range" let-total> {{ range[0] }}-{{ range[1] }} of {{ total }} items </ng-template>
11.
12. })
13. export class NzDemoPaginationTotalComponent {}

上一步和下一步
修改上一步和下一步为文字链接。
1. import { Component } from '@angular/core';
2. 3. @Component({
4. selector: 'nz-demo-pagination-item-render',
5. template: 6. <nz-pagination [nzPageIndex]="1" [nzTotal]="500" [nzItemRender]="renderItemTemplate"></nz-pagination>
7. <ng-template #renderItemTemplate let-type let-page="page">
8. <ng-container [ngSwitch]="type">
9. <a *ngSwitchCase="'page'">{{ page }}</a>
10. <a *ngSwitchCase="'prev'">Previous</a>
11. <a *ngSwitchCase="'next'">Next</a>
12. <a *ngSwitchCase="'prev_5'"><<</a>
13. <a *ngSwitchCase="'next_5'">>></a>
14. </ng-container>
15. </ng-template>
16.
17. })
18. export class NzDemoPaginationItemRenderComponent {}
API
1. <nz-pagination [nzPageIndex]="1" [nzTotal]="50"></nz-pagination>
nz-paginationcomponent
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
[nzTotal] |
数据总数 | number |
- |
[nzPageIndex] |
当前页数,可双向绑定 | number |
1 |
[nzPageSize] |
每页条数 ,可双向绑定 | number |
10 |
[nzDisabled] |
是否禁用 | boolean |
false |
[nzShowQuickJumper] |
是否可以快速跳转至某页 | boolean |
false |
[nzShowSizeChanger] |
是否可以改变 nzPageSize |
boolean |
false |
[nzSimple] |
当添加该属性时,显示为简单分页 | boolean |
- |
[nzSize] |
当为「small」时,是小尺寸分页 | ‘small’ |
‘default’ |
[nzResponsive] |
当 nzSize 未指定时,根据屏幕宽度自动调整尺寸 |
boolean |
false |
[nzPageSizeOptions] |
指定每页可以显示多少条 | number[] |
[10, 20, 30, 40] |
[nzItemRender] |
用于自定义页码的结构 | TemplateRef<{ $implicit: ‘page’ | ‘prev’ | ‘next’| ‘prev_5’| ‘next_5’, page: number }> |
- |
[nzShowTotal] |
用于显示数据总量和当前数据范围,具体使用方式见代码演示部分 | TemplateRef<{ $implicit: number, range: [ number, number ] }> |
- |
[nzHideOnSinglePage] |
只有一页时是否隐藏分页器 | boolean |
false |
(nzPageIndexChange) |
页码改变的回调 | EventEmitter<number> |
- |
(nzPageSizeChange) |
每页条数改变的回调 | EventEmitter<number> |
- |
