Компоненты PrimeNG
Panel

Панель

PrimeNG/Panel (opens in a new tab)

Panel - это контейнер с дополнительной функцией переключения содержимого.

С чего начать

Подключите модуль

import { PanelModule } from 'primeng/panel';

Встройте компонент с помощью тэга p-slideMenu.

Regular

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Advanced

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

import { Component, OnInit } from '@angular/core';
import { MessageService } from 'primeng/api';
import { MenuItem } from 'primeng/api';
 
@Component({
  selector: 'app-prime-panel',
  templateUrl: './prime-panel.component.html',
  styleUrls: ['./prime-panel.component.scss'],
  providers: [MessageService],
})
export class PrimePanelComponent implements OnInit {
  constructor(private messageService: MessageService) {}
 
  items: MenuItem[] = [];
 
  ngOnInit(): void {
    this.items = [
      {
        label: 'Options',
        items: [
          {
            label: 'Update',
            icon: 'pi pi-refresh',
            command: () => {
              this.update();
            },
          },
          {
            label: 'Delete',
            icon: 'pi pi-times',
            command: () => {
              this.delete();
            },
          },
        ],
      },
      {
        label: 'Navigate',
        items: [
          {
            label: 'Angular Website',
            icon: 'pi pi-external-link',
            url: 'http://angular.io',
          },
          {
            label: 'Router',
            icon: 'pi pi-upload',
            routerLink: '/fileupload',
          },
        ],
      },
    ];
  }
 
  update() {
    this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Updated' });
  }
 
  delete() {
    this.messageService.add({ severity: 'warn', summary: 'Delete', detail: 'Data Deleted' });
  }
}

Свойства

NameTypeDefaultDescription
headerstringnullHeader text of the panel.
toggleablebooleanfalseDefines if content of panel can be expanded and collapsed.
collapsedbooleanfalseDefines the initial state of panel content, supports one or two-way binding as well.
stylestringnullInline style of the component.
styleClassstringnullStyle class of the component.
expandIconstringpi pi-plusExpand icon of the toggle button.
collapseIconstringpi pi-minusCollapsed icon of the toggle button.
showHeaderbooleantrueSpecifies if header of panel cannot be displayed.
transitionOptionsstring400ms cubic-bezier(0.86, 0, 0.07, 1)Transition options of the animation.
togglerstringiconSpecifies the toggler element to toggle the panel content, valid values are "icon" and "header".

События

NameParametersDescription
onBeforeToggleevent.originalEvent: browser event<br>event.collapsed: state as a booleanCallback to invoke before content toggle.
onAfterToggleevent.originalEvent: browser event<br>event.collapsed: state as a booleanCallback to invoke after content toggle.

Шаблоны

NameParameters
header-
content-
icons-
footer-

Стилизация

NameElement
p-panelContainer element.
p-panel-titlebarHeader section.
p-panel-titleTitle text of panel.
p-panel-titlebar-togglerToggle icon.
p-panel-contentContent of panel.