📜  Angular PrimeNG 分页器组件

📅  最后修改于: 2022-05-13 01:56:33.346000             🧑  作者: Mango

Angular PrimeNG 分页器组件

Angular PrimeNG 是一个开源框架,具有丰富的原生 Angular UI 组件集,可用于出色的样式,并且该框架用于非常轻松地制作响应式网站。在本文中,我们将了解如何在 Angular PrimeNG 中使用 Paginator 组件。我们还将了解将在代码中使用的属性、事件和样式以及它们的语法。

Paginator 组件:用于以分页格式显示内容。

特性:

  • totalRecords :这是要显示的总记录页面的总数。它是数字数据类型,默认值为 0。
  • rows : 每页显示的数据数。它是数字数据类型,默认值为 0。
  • first :它是要显示的第一行的零相对数。它是数字数据类型,默认值为 0。
  • pageLinkSize :它设置要显示的页面链接的数量。它是数字数据类型,默认值为 5。
  • rowsPerPageOptions :它是在每页下拉列表中显示的整数/对象值的数组。它是数组数据类型,默认值为空。
  • style:是组件的内联样式。它是字符串数据类型,默认值为空。
  • styleClass :它是组件的样式类。它是字符串数据类型,默认值为空。
  • alwaysShow :它指定是否显示它,即使只有一页。它是布尔数据类型,默认值为true。
  • showFirstLastIcon : 表示图标显示在分页器上的第一页和最后一页。它是布尔数据类型,默认值为true。
  • templateLeft :它是注入到分页器左侧的模板实例。它是 TemplateRef 数据类型,默认值为 null。
  • templateRight : 它是注入到分页器右侧的模板实例。它是 TemplateRef 数据类型,默认值为 null。
  • dropdownItemTemplate :它是注入到分页器内的下拉项中的模板实例。它是 TemplateRef 数据类型,默认值为 null。
  • dropdownAppendTo :它是附加下拉覆盖的目标元素。它可以接受任何类型的数据,默认值为空。
  • dropdownScrollHeight :它是视口的下拉高度(以像素为单位),如果列表的高度超过此值,则定义滚动条。它是字符串数据类型,默认值为200px。
  • currentPageReportTemplate :它是当前页面报告元素的模板。它是字符串数据类型,默认值为({totalPages} 的{currentPage})。
  • showCurrentPageReport :指定是否显示当前页面报告。它是布尔数据类型,默认值为false。
  • showJumpToPageDropdown :它指定是否显示下拉菜单以导航到任何页面。它是布尔数据类型,默认值为false。
  • showPageLinks :它指定是否显示页面链接。它是布尔数据类型,默认值为true。

事件:

  • onPageChange:当元素中的页面发生变化时触发的回调。

造型:

  • p-paginator:它是Container元素。
  • p-paginator-first:它是首页元素。
  • p-paginator-prev:上一个页面元素。
  • p-paginator-pages:它是页面链接的容器。
  • p-paginator-page:页面链接。
  • p-paginator-next:它是下一页元素。
  • p-paginator-last:它是最后一个页面元素。
  • p-paginator-rpp-options:它是每页下拉菜单的行数。
  • p-paginator-page-options:它是每页下拉菜单的跳转。

创建 Angular 应用程序和模块安装:

第 1 步:使用以下命令创建一个 Angular 应用程序。

ng new appname

第 2 步:创建项目文件夹(即 appname)后,使用以下命令移动到该文件夹。

cd appname

第 3 步:在给定目录中安装 PrimeNG。

npm install primeng --save
npm install primeicons --save

项目结构:它将如下所示:

示例 1:这是说明如何使用 Paginator 组件的基本示例。我们使用了rowtotalRecord属性,分别给出每页要呈现的数据计数和记录总数的信息。

app.component.html

GeeksforGeeks

PrimeNG Paginator Component


app.component.ts
import { Component } from "@angular/core";
  
@Component({
  selector: "my-app",
  templateUrl: "./app.component.html",
  styleUrls: ["./app.component.scss"],
})
export class AppComponent {}


app.module.ts
import { NgModule } from "@angular/core";
import { BrowserModule } from "@angular/platform-browser";
import { FormsModule } from "@angular/forms";
import { BrowserAnimationsModule } 
    from "@angular/platform-browser/animations";
  
import { AppComponent } from "./app.component";
import { PaginatorModule } from "primeng/paginator";
  
@NgModule({
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    PaginatorModule,
    FormsModule,
  ],
  declarations: [AppComponent],
  bootstrap: [AppComponent],
})
export class AppModule {}


app.component.html

GeeksforGeeks

PrimeNG Paginator Component


app.component.ts
import { Component } from "@angular/core";
  
@Component({
  selector: "my-app",
  templateUrl: "./app.component.html",
  styleUrls: ["./app.component.scss"],
})
export class AppComponent {}


app.module.ts
import { NgModule } from "@angular/core";
import { BrowserModule } from "@angular/platform-browser";
import { FormsModule } from "@angular/forms";
import { BrowserAnimationsModule } 
    from "@angular/platform-browser/animations";
  
import { AppComponent } from "./app.component";
import { PaginatorModule } from "primeng/paginator";
  
@NgModule({
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    PaginatorModule,
    FormsModule,
  ],
  declarations: [AppComponent],
  bootstrap: [AppComponent],
})
export class AppModule {}


app.component.ts

import { Component } from "@angular/core";
  
@Component({
  selector: "my-app",
  templateUrl: "./app.component.html",
  styleUrls: ["./app.component.scss"],
})
export class AppComponent {}

app.module.ts

import { NgModule } from "@angular/core";
import { BrowserModule } from "@angular/platform-browser";
import { FormsModule } from "@angular/forms";
import { BrowserAnimationsModule } 
    from "@angular/platform-browser/animations";
  
import { AppComponent } from "./app.component";
import { PaginatorModule } from "primeng/paginator";
  
@NgModule({
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    PaginatorModule,
    FormsModule,
  ],
  declarations: [AppComponent],
  bootstrap: [AppComponent],
})
export class AppModule {}

输出:

示例 2:在此示例中,我们将使用带有rowsPerPageOptions下拉菜单的分页器组件中的pageLinkSize属性。

app.component.html

GeeksforGeeks

PrimeNG Paginator Component

app.component.ts

import { Component } from "@angular/core";
  
@Component({
  selector: "my-app",
  templateUrl: "./app.component.html",
  styleUrls: ["./app.component.scss"],
})
export class AppComponent {}

app.module.ts

import { NgModule } from "@angular/core";
import { BrowserModule } from "@angular/platform-browser";
import { FormsModule } from "@angular/forms";
import { BrowserAnimationsModule } 
    from "@angular/platform-browser/animations";
  
import { AppComponent } from "./app.component";
import { PaginatorModule } from "primeng/paginator";
  
@NgModule({
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    PaginatorModule,
    FormsModule,
  ],
  declarations: [AppComponent],
  bootstrap: [AppComponent],
})
export class AppModule {}

输出:

参考: https://primefaces.org/primeng/showcase/#/paginator