📜  Angular PrimeNG 数据视图组件

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

Angular PrimeNG 数据视图组件

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

dataView 组件:用于以网格和列表布局显示数据,具有分页和排序功能。

特性:

  • value :它是要显示的对象数组。它是数组数据类型,默认值为空。
  • layout : 项目的布局,有效值为“list”和“grid”。它是字符串数据类型,默认值为列表。
  • paginator :如果指定为 true,则显示分页。它是布尔数据类型,默认值为false。
  • rows :表示每页显示的行数。它是数字数据类型,默认值为空。
  • totalRecords :表示总记录数,未定义时默认为 value 的长度。它是数字数据类型,默认值为空。
  • pageLinks :它表示要在分页器中显示的页面链接数。它是数字数据类型,默认值为 5。
  • rowsPerPageOptions :它表示一个整数/对象值数组,以显示在分页器的每页下拉列表中的行内。它是数组数据类型,默认值为空。
  • paginatorPosition :分页器的位置,选项有“top”、“bottom”或“both”。它是字符串数据类型。它是字符串数据类型,默认值为底部。
  • alwaysShowPaginator :它指定即使只有一页也是否显示它。它是布尔数据类型,默认值为true。
  • showFirstLastIcon :它指定图标显示在分页器上的第一页和最后一页。它是布尔数据类型,默认值为真。
  • paginatorDropdownAppendTo :它是附加分页器下拉覆盖的目标元素。它接受任何数据类型,默认值为空。
  • paginatorDropdownScrollHeight :它是视口的分页器下拉高度,以像素为单位。它是字符串数据类型,默认值为200px。
  • showCurrentPageReport :指定是否显示当前页面报告。它是布尔数据类型,默认值为false。
  • showJumpToPageDropdown :它指定是否显示下拉菜单以导航到任何页面。它是布尔数据类型,默认值为false。
  • showPageLinks :它指定是否显示页面链接。它是布尔数据类型,默认值为真。
  • lazy :它指定数据是否以惰性方式加载和交互。它是布尔数据类型,默认值为false。
  • emptyMessage :无数据时显示的文本,为字符串数据类型。
  • style :它是组件的内联样式。它是字符串数据类型,默认值为空。
  • styleClass :它是组件的样式类。它是字符串数据类型,默认值为空。
  • trackBy :它是通过委托给 ngForTrackBy 来优化 dom 操作的函数,默认算法检查对象身份。它是函数数据类型,默认值为null。
  • filterBy :它是对象图中要搜索的字段的逗号分隔列表。它是字符串数据类型,默认值为空。
  • filterLocale :它是用于过滤的语言环境。它是字符串数据类型,默认值未定义。
  • loading : 显示加载器以指示数据加载正在进行中。它是布尔数据类型,默认值为false。
  • loadingIcon :它是在指示数据加载正在进行时显示的图标。它是字符串数据类型,默认值为 pi pi-spinner。
  • first :显示的第一行的索引,数字数据类型,默认值为0。

事件:

  • onLazyLoad :它是在惰性模式下发生分页、排序或过滤时触发的回调。
  • onPage :这是一个在发生分页时触发的回调。
  • onSort :这是一个在排序发生时触发的回调。
  • onChangeLayout :它是在更改布局时触发的回调。

造型:

  • p-dataview:它是一个样式化容器元素。
  • p-dataview-list:它是列表布局中的样式容器元素。
  • p-dataview-grid:它是网格布局中的样式容器元素。
  • p-dataview-header:它是一个样式 Header 部分。
  • p-dataview-footer:它是一个样式页脚部分。
  • p-dataview-content:它是项目的样式容器。
  • p-dataview-emptymessage:它是一个样式空消息元素。

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

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

ng new appname

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

cd appname

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

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

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

示例 1:这是展示如何使用 dataView 组件的基本示例。

app.component.html
              
        
          
            

GeeksforGeeks

          
          
            DataView Component Item           
        
      
    
  


app.component.ts
import { Component } from "@angular/core";
import { ProductService } from "./productservice";
import { Product } from "./product";
import { SelectItem } from "primeng/api";
import { PrimeNGConfig } from "primeng/api";
  
@Component({
  selector: "app-root",
  templateUrl: "./app.component.html",
  styleUrls: ["./app.component.css"],
})
export class AppComponent {
  productNames: string[] = [
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
  ];
  
  ngOnInit() {}
}


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


app.component.html
              
                                                           Options                
    
           
        
          
            

{{product}}

          
          
            Text Here           
        
      
    
  


app.component.ts
import { Component } from "@angular/core";
import { ProductService } from "./productservice";
import { Product } from "./product";
import { SelectItem } from "primeng/api";
import { PrimeNGConfig } from "primeng/api";
  
@Component({
  selector: "app-root",
  templateUrl: "./app.component.html",
  styleUrls: ["./app.component.css"],
})
export class AppComponent {
  productNames: string[] = [
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
  ];
  
  ngOnInit() {}
}


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


app.component.ts

import { Component } from "@angular/core";
import { ProductService } from "./productservice";
import { Product } from "./product";
import { SelectItem } from "primeng/api";
import { PrimeNGConfig } from "primeng/api";
  
@Component({
  selector: "app-root",
  templateUrl: "./app.component.html",
  styleUrls: ["./app.component.css"],
})
export class AppComponent {
  productNames: string[] = [
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
    "GeeksforGeeks",
  ];
  
  ngOnInit() {}
}

app.module.ts

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

输出:

示例 2:在此示例中,我们将使用带有 dataView 组件和不同布局的 dataView 的搜索选项。

app.component.html

              
                                                           Options                
    
           
        
          
            

{{product}}

          
          
            Text Here           
        
      
    
  

app.component.ts

import { Component } from "@angular/core";
import { ProductService } from "./productservice";
import { Product } from "./product";
import { SelectItem } from "primeng/api";
import { PrimeNGConfig } from "primeng/api";
  
@Component({
  selector: "app-root",
  templateUrl: "./app.component.html",
  styleUrls: ["./app.component.css"],
})
export class AppComponent {
  productNames: string[] = [
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
    "Heading",
  ];
  
  ngOnInit() {}
}

app.module.ts

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

输出:

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