Angular PrimeNG 侧边栏组件
Angular PrimeNG 是一个开源框架,具有丰富的原生 Angular UI 组件集,可用于出色的样式,并且该框架用于非常轻松地制作响应式网站。在本文中,我们将了解如何在 Angular PrimeNG 中使用侧边栏组件。我们还将了解将在代码中使用的属性、事件和样式以及它们的语法。
侧边栏组件: It 用于制作覆盖在屏幕边缘的元素。
特性:
- 可见:它指定对话框的可见性。它是布尔数据类型,默认值为false。
- position:指定侧边栏的位置,有效值为“left”、“right”、“bottom”和“top”。它是字符串数据类型,保留默认值。
- fullScreen:用于在标题中添加关闭图标以隐藏对话框。它是布尔数据类型,默认值为 false。
- appendTo:附加对话框的目标元素,有效值为“body”或另一个元素的本地 ng-template 变量。它接受任何类型的数据,默认值为空。
- style:用于设置组件的内联样式。它是字符串数据类型,默认值为空。
- styleClass:用于设置组件的样式类。它是字符串数据类型,默认值为空。
- blockScroll:用于指定当侧边栏处于活动状态时是否阻止文档滚动。它是布尔数据类型,默认值为 false。
- baseZIndex:用于设置分层时使用的基本 zIndex 值。它是数字数据类型,默认值为 0。
- autoZIndex:用于指定是否自动管理分层。它是布尔数据类型,默认值为true。
- modal:用于指定是否在侧边栏后面显示覆盖掩码。它是布尔数据类型,默认值为true。
- dismissible:用于指定是否在单击掩码时关闭侧边栏。它是布尔数据类型,默认值为true。
- showCloseIcon:用于指定是否显示关闭图标。它是布尔数据类型,默认值为真。
- transitionOptions:用于设置动画的过渡选项。它是字符串数据类型,默认值为 150ms 三次贝塞尔曲线(0, 0, 0.2, 1)。
- ariaCloseLabel:用于设置关闭图标的 aria-label。它是字符串数据类型,默认值为 close。
- closeOnEscape:用于指定按退出键是否应隐藏侧边栏。它是布尔数据类型,默认值为true。
事件:
- onShow:这是一个在显示对话框时触发的回调。
- onHide:这是一个在对话框被隐藏时触发的回调。
造型:
- p-sidebar:它是容器元素
- p-sidebar-left:左侧边栏的容器元素。
- p-sidebar-right:右侧边栏的容器元素。
- p-sidebar-top:顶部侧边栏的容器元素。
- p-sidebar-bottom:底部侧边栏的容器元素。
- p-sidebar-full:它是全屏侧边栏的容器元素。
- p-sidebar-active:侧边栏可见时的容器元素。
- p-sidebar-close :它是关闭锚元素。
- p-sidebar-sm :它是一个小型侧边栏。
- p-sidebar-md :中型侧边栏。
- p-sidebar-lg :它是一个大尺寸的侧边栏。
- p-sidebar-mask :侧边栏的模态层。
创建 Angular 应用程序和模块安装:
- 第 1 步:使用以下命令创建一个 Angular 应用程序。
ng new appname
- 第 2 步:创建项目文件夹(即 appname)后,使用以下命令移动到该文件夹。
cd appname
- 第 3 步:在给定目录中安装 PrimeNG。
npm install primeng --save
npm install primeicons --save
项目结构:它将如下所示:
示例 1:这是说明如何使用侧边栏组件的基本示例。
app.component.html
GeeksforGeeks
Angular PrimeNG Sidebar 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 { BrowserAnimationsModule }
from "@angular/platform-browser/animations";
import { AppComponent } from "./app.component";
import { ButtonModule } from "primeng/button";
import { SidebarModule } from "primeng/sidebar";
@NgModule({
imports: [
BrowserModule,
BrowserAnimationsModule,
SidebarModule,
ButtonModule,
],
declarations: [AppComponent],
bootstrap: [AppComponent],
})
export class AppModule {}
app.component.html
GeeksforGeeks
Angular PrimeNG Sidebar 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 { BrowserAnimationsModule }
from "@angular/platform-browser/animations";
import { AppComponent } from "./app.component";
import { ButtonModule } from "primeng/button";
import { SidebarModule } from "primeng/sidebar";
@NgModule({
imports: [
BrowserModule,
BrowserAnimationsModule,
SidebarModule,
ButtonModule,
],
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 { BrowserAnimationsModule }
from "@angular/platform-browser/animations";
import { AppComponent } from "./app.component";
import { ButtonModule } from "primeng/button";
import { SidebarModule } from "primeng/sidebar";
@NgModule({
imports: [
BrowserModule,
BrowserAnimationsModule,
SidebarModule,
ButtonModule,
],
declarations: [AppComponent],
bootstrap: [AppComponent],
})
export class AppModule {}
输出:
示例 2:在这个示例中,我们将了解如何在 Sidebar 组件中使用position属性。
app.component.html
GeeksforGeeks
Angular PrimeNG Sidebar 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 { BrowserAnimationsModule }
from "@angular/platform-browser/animations";
import { AppComponent } from "./app.component";
import { ButtonModule } from "primeng/button";
import { SidebarModule } from "primeng/sidebar";
@NgModule({
imports: [
BrowserModule,
BrowserAnimationsModule,
SidebarModule,
ButtonModule,
],
declarations: [AppComponent],
bootstrap: [AppComponent],
})
export class AppModule {}
输出:
参考: https://primefaces.org/primeng/showcase/#/sidebar