Angular PrimeNG TieredMenu组件
Angular PrimeNG是一个开源框架,它拥有丰富的原生Angular UI组件,这些组件被用来做伟大的造型,这个框架被用来制作响应式网站,非常容易。在这篇文章中,我们将了解如何在Angular PrimeNG中使用TieredMenu组件。我们还将学习属性、方法、造型以及代码中使用的语法。
TieredMenu组件:它允许用户以分层的形式制作菜单。
属性:
- model : 它是一个菜单项的数组。它的数据类型是数组,默认值是空。
- popup : 它定义了菜单是否会被显示为弹出式。它是布尔数据类型,默认值是false。
- appendTo : 它指定了叠加的目标元素,有效值是 “body “或另一个元素的本地ng-template变量。它是数组数据类型,默认值为空。
- style : 它设置组件的内联风格。它的数据类型为字符串,默认值为空。
- styleClass : 它设置了组件的风格类别。它接受字符串数据类型,默认值为空。
- baseZIndex : 它是一个用于分层的基础ZIndex值。它接受数字作为输入数据类型,默认值为0。
- autoZIndex : 它指定了是否要自动管理分层。它是布尔数据类型,默认值为true。
- autoDisplay : 它指定是否在鼠标移动时显示一个根子菜单。它是布尔数据类型,默认值为false。
- showTransitionOptions :它显示用于显示动画的过渡选项。它接受字符串数据类型,默认值是0.12s cubic-bezier(0, 0, 0.2, 1)。
- hideTransitionOptions 。它显示隐藏动画的过渡选项。它接受字符串数据类型,默认值为0.1s线性。
方法:
- toggle。它用于切换弹出式菜单的可见性。
- display。它用于显示弹出式菜单。
- hide。它用于隐藏弹出式菜单。
样式:
- p-tieredmenu。它是一个容器元素。
- p-menu-list。它是一个列表元素。
- p-menuitem : 它是一个menuitem元素。
- p-menuitem-text : 它是一个菜单项的标签。
- p-menuitem-icon。它是一个菜单项的图标。
- p-submenu-icon。它是一个子菜单的箭头图标。
创建Angular应用程序和模块安装。
第1步:使用以下命令创建一个Angular应用程序。
ng new appname
第2步:创建你的项目文件夹即appname后,使用以下命令移动到它。
cd appname
第3步在你给定的目录中安装PrimeNG。
npm install primeng --save
npm install primeicons --save
项目结构:完成安装后,它将看起来像下面这样。
例子1:这是一个基本的例子,展示了如何使用TieredMenu组件。
<h2>GeeksforGeeks</h2>
<h5>PrimeNG TieredMenu Component</h5>
<p-tieredMenu [model]="gfg"></p-tieredMenu>
import { Component } from "@angular/core";
import { MenuItem } from "primeng/api";
@Component({
selector: "my-app",
templateUrl: "./app.component.html",
})
export class AppComponent {
gfg: MenuItem[];
ngOnInit() {
this.gfg = [
{
label: "JavaScript",
items: [
{
label: "JavaScript1",
items: [
{
label: "JavaScript1.1",
},
{
label: "JavaScript1.2",
},
],
},
{
label: "JavaScript2",
},
{
label: "JavaScript3",
},
],
},
{
label: "HTML",
items: [
{
label: "HTML 1",
},
{
label: "HTML 2",
},
],
},
{
label: "Angular",
items: [
{
label: "Angular 1",
},
{
label: "Angular 2",
},
],
},
];
}
}
import { NgModule } from "@angular/core";
import { BrowserModule } from "@angular/platform-browser";
import { BrowserAnimationsModule }
from "@angular/platform-browser/animations";
import { AppComponent } from "./app.component";
import { TieredMenuModule } from "primeng/tieredmenu";
@NgModule({
imports: [BrowserModule,
BrowserAnimationsModule,
TieredMenuModule],
declarations: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule {}
输出:
例2:在这个例子中,我们将使用popup来制作tieredmenu组件。
<h2>GeeksforGeeks</h2>
<h5>PrimeNG TieredMenu Component</h5>
<button #btn type="button" pButton label="Click Here"
(click)="menu.toggle($event)"></button>
<p-tieredMenu #menu [model]="gfg" [popup]="true"></p-tieredMenu>
import { Component } from '@angular/core';
import { MenuItem } from 'primeng/api';
@Component({
selector: 'my-app',
templateUrl: './app.component.html'
})
export class AppComponent {
gfg: MenuItem[];
ngOnInit() {
this.gfg = [
{
label: 'JavaScript',
items: [
{
label: 'JavaScript1',
items: [
{
label: 'JavaScript1.1'
},
{
label: 'JavaScript1.2'
}
]
},
{
label: 'JavaScript2'
},
{
label: 'JavaScript3'
}
]
},
{
label: 'HTML',
items: [
{
label: 'HTML 1'
},
{
label: 'HTML 2'
}
]
},
{
label: 'Angular',
items: [
{
label: 'Angular 1'
},
{
label: 'Angular 2'
}
]
}
];
}
}
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TieredMenuModule } from 'primeng/tieredmenu';
import { ButtonModule } from 'primeng/button';
@NgModule({
imports: [
BrowserModule,
BrowserAnimationsModule,
TieredMenuModule,
ButtonModule
],
declarations: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule {}
输出: