Angular PrimeNG Form MultiSelect Styling Component
Angular PrimeNG — это библиотека компонентов AngularJS, разработанная PrimeFaces. Он предоставляет разработчикам возможность выбора из широкого спектра уже реализованных тем и компонентов пользовательского интерфейса для своих приложений. В этой статье мы увидим компонент стилизации Angular PrimeNG Form MultiSelect.
Компонент MultiSelect позволяет пользователям выбирать несколько параметров из набора предоставленных параметров. Существует 9 классов структурного стиля компонента Multiselect, которые можно использовать для настройки стиля в соответствии с вашими потребностями.
Angular PrimeNG Form MultiSelect Styling CSS-классы:
- p-multiselect: это контейнер компонента множественного выбора.
- p-multiselect-label-container: это контейнер метки для отображения выбранных элементов.
- p-multiselect-label: это метка для отображения выбранных элементов.
- p-multiselect-trigger: этот класс применяется к кнопке раскрывающегося списка.
- p-multiselect-filter-container: это контейнер входных данных фильтра компонента MultiSelect.
- p-multiselect-panel: это класс, применяемый к панели для отображения элементов MultiSelect.
- p-multiselect-items: это контейнер списка элементов.
- p-multiselect-item: этот класс применяется к элементам компонента MultiSelect.
- p-multiselect-open: это контейнер компонента множественного выбора, когда его панель видна.
Есть несколько атрибутов, которые можно использовать с формой MultiSelect, которые описаны ниже:
- options: принимает массив объектов, которые будут использоваться для отображения опций множественного выбора.
- optionLabel: это свойство принимает свойство объектов параметров, которое будет использоваться в качестве метки для параметров.
- showToggleAll: это свойство используется для включения/отключения флажка переключения всех элементов для множественного выбора.
- заполнитель: это свойство используется для передачи строки, которая будет использоваться в качестве заполнителя для множественного выбора.
Синтаксис:
// In app.cpomponent.html <p-multiSelect [options]="..." [(ngModel)]="..." optionLabel="..." defaultLabel="..."> </p-multiSelect> // In Styles :host ::ng-deep .Structural-Styling-Class { // Custom Styles }
Создание приложения и установка необходимых модулей:
Шаг 1: Создайте приложение Angular с помощью следующей команды.
ng new my_app
Шаг 2: После создания приложения перейдите в папку проекта с помощью приведенной ниже команды.
cd new_app
Шаг 3: Наконец, установите следующие модули в каталог вашего проекта.
npm install primeng --save npm install primeicons --save
Структура проекта: Структура проекта будет показана на рисунке ниже:
Пример 1. В этом примере мы устанавливаем зеленый цвет метки с множественным выбором и полужирный шрифт метки.
- app.component.html
HTML
< h2 style = "color: green;" > GeeksforGeeks </ h2 > < h5 > Angular PrimeNG Form MultiSelect Styling Component </ h5 > < p-multiSelect class = "custom-ms" [options]="brands" [(ngModel)]="selectedBrands" optionLabel = "name" optionValue = "id" defaultLabel = "Select Brand(s)" > </ p-multiSelect > |
- app.component.ts
Javascript
import { Component } from "@angular/core" ; interface Brand { name: string; id: string; } @Component({ selector: "app-root" , templateUrl: "./app.component.html" , styles: [ ` :host ::ng-deep .custom-ms .p-multiselect-label { width: 300px !important; color: green; font-weight: bold; } ` ] }) export class AppComponent { brands: Brand[] = []; selectedBrands: Brand[] = []; ngOnInit() { this .brands = [ { name: "Adidas" , id: "sports_1" }, { name: "Puma" , id: "sports_2" }, { name: "Nike" , id: "sports_3" }, { name: "HRX" , id: "sports_4" }, { name: "Delhivery" , id: "trans_1" }, { name: "DHL" , id: "trans_2" }, { name: "FedEx" , id: "trans_3" } ]; } } |
- app.module.ts
Javascript
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 { MultiSelectModule } from "primeng/multiselect" ; @NgModule({ imports: [ BrowserModule, BrowserAnimationsModule, MultiSelectModule, FormsModule ], declarations: [AppComponent], bootstrap: [AppComponent], }) export class AppModule { } |
Выход:
Пример 2. В этом примере мы изменили цвет кнопки раскрывающегося списка на зеленый, а цвет элемента множественного выбора на красный и выделили их жирным шрифтом.
- app.component.html
HTML
< h2 style = "color: green;" > GeeksforGeeks </ h2 > < h3 > Angular PrimeNG Form MultiSelect Styling Component </ h3 > < h4 > Multiselect with < i >red & bold dropdown trigger and item labels</ i > </ h4 > < p-multiSelect class = "mSelect" placeholder = "Select Players" [options]="people" [showToggleAll]="false" [(ngModel)]="selected" optionLabel = "name" optionValue = "ranking" > </ p-multiSelect > |
- app.component.css
CSS
:host ::ng-deep .mSelect .p-multiselect-label { width : 300px !important ; } :host ::ng-deep .mSelect .p-multiselect-item { color : red ; font-weight : bold ; } :host ::ng-deep .mSelect .p-multiselect-trigger { color : red ; font-weight : bold ; } |
- app.component.ts
Javascript
import { Component } from "@angular/core" ; interface Person { ranking: number; name: string; } @Component({ selector: "app-root" , templateUrl: "./app.component.html" , styleUrls: [ "app.component.css" ] }) export class AppComponent { people: Person[] = []; selected: Person[] = []; ngOnInit() { this .people = [ { name: "Alex" , ranking: 1 }, { name: "Smith" , ranking: 2 }, { name: "Krishna" , ranking: 3 }, { name: "Shane" , ranking: 4 }, { name: "Tom" , ranking: 5 }, { name: "Sebastian" , ranking: 6 }, { name: "Tushar" , ranking: 7 } ]; } } |
- app.module.ts
Javascript
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 { MultiSelectModule } from "primeng/multiselect" ; @NgModule({ imports: [ BrowserModule, BrowserAnimationsModule, MultiSelectModule, FormsModule ], declarations: [AppComponent], bootstrap: [AppComponent], }) export class AppModule { } |
Выход:
Ссылка: https://www.primefaces.org/primeng/multiselect