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 组件的基本示例。我们使用了row和totalRecord属性,分别给出每页要呈现的数据计数和记录总数的信息。
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