📜  Angular PrimeNG 芯片组件

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

Angular PrimeNG 芯片组件

Angular PrimeNG 是一个开源框架,具有丰富的原生 Angular UI 组件集,可用于出色的样式,并且该框架用于非常轻松地制作响应式网站。在本文中,我们将了解如何在 Angular PrimeNG 中使用 Chips 组件。

芯片组件: 用于为输入字段设置要输入的多个值。

特性:

  • 字段:用于设置 要在芯片上显示的属性的名称。它是字符串数据类型,默认值为空。
  • max:用于设置允许的最大条目数。它是数字数据类型,默认值为空。
  • disabled:用于禁用复选框。它是布尔数据类型,默认值为false。
  • style:用于赋予组件的内联样式。它是字符串数据类型,默认值为空。
  • styleClass:组件的样式类。它是字符串数据类型,默认值为空。
  • placeholder:用于设置输入的占位符文本。它是字符串数据类型,默认值为空。
  • tabindex:用于设置 以跳位顺序排列的元素的索引。它是数字数据类型,默认值为空。
  • inputId:它是底层输入元素的 ID 标识符。它是字符串数据类型,默认值为空。
  • ariaLabelledBy:此属性在组件和标签之间建立关系,其值应为一个或多个元素 ID。它是字符串数据类型,默认值为空。
  • allowDuplicate:用于设置是否允许重复值。它是布尔数据类型,默认值为true。
  • inputStyle:用于设置输入字段的内联样式。它是字符串数据类型,默认值为空。
  • inputStyleClass:用于设置输入字段的样式类。它是字符串数据类型,默认值为空。
  • addOnTab:用于设置是否在tab键上添加item。它是布尔数据类型,默认值为false。
  • addOnBlur:用于设置输入失去焦点时是否添加item。它是布尔数据类型,默认值为false。
  • 分隔符:用于设置分隔符字符,以在按下时添加一个项目,除了回车键。它是字符串数据类型,默认值为空。

事件:

  • onAdd:添加值时触发的回调。
  • onRemove:它是一个回调,当一个值被删除时触发。
  • onChipClick:当一个芯片被点击时触发的回调。
  • onFocus:当输入获得焦点时触发的回调。
  • onBlur:当输入失去焦点时触发的回调。

造型:

  • p-chips:它是一个容器元素。
  • p-chips-token:芯片元素容器。
  • p-chips-token-icon:芯片的图标。
  • p-chips-token-label:芯片的标签。
  • p-chips-input-token:它是输入元素的容器。

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

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

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

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

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

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

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

app.component.html
  

GeeksforGeeks

  

PrimeNG chips component

  


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


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 { ChipsModule } from "primeng/chips";
import { ButtonModule } from "primeng/button";
  
@NgModule({
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    ChipsModule,
    ButtonModule,
    FormsModule,
  ],
  declarations: [AppComponent],
  bootstrap: [AppComponent],
})
export class AppModule {}


app.component.html
PrimeNG Chips Component
       {{gfg}}   


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


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 { ChipsModule } from "primeng/chips";
import { ButtonModule } from "primeng/button";
  
@NgModule({
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    ChipsModule,
    ButtonModule,
    FormsModule,
  ],
  declarations: [AppComponent],
  bootstrap: [AppComponent],
})
export class AppModule {}


app.component.ts

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

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 { ChipsModule } from "primeng/chips";
import { ButtonModule } from "primeng/button";
  
@NgModule({
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    ChipsModule,
    ButtonModule,
    FormsModule,
  ],
  declarations: [AppComponent],
  bootstrap: [AppComponent],
})
export class AppModule {}

输出:

示例 2:在此示例中,我们有一个 Chips 组件的模板。  

app.component.html

PrimeNG Chips Component
       {{gfg}}   

app.component.ts

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

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 { ChipsModule } from "primeng/chips";
import { ButtonModule } from "primeng/button";
  
@NgModule({
  imports: [
    BrowserModule,
    BrowserAnimationsModule,
    ChipsModule,
    ButtonModule,
    FormsModule,
  ],
  declarations: [AppComponent],
  bootstrap: [AppComponent],
})
export class AppModule {}

输出:

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