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

Разделенная кнопка

PrimeNG/SplitButton (opens in a new tab)

SplitButton имеет кнопку с действием по-умолчанию и список элементов которые отображаются во всплывающем меню.

С чего начать

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

import { SplitButtonModule } from 'primeng/splitbutton';

В .ts файле

import { Component, OnInit } from '@angular/core';
import { MenuItem } from 'primeng/api';
import { MessageService } from 'primeng/api';
 
@Component({
  selector: 'app-prime-splitbutton',
  templateUrl: './prime-splitbutton.component.html',
  styleUrls: ['./prime-splitbutton.component.scss'],
  providers: [MessageService],
})
export class PrimeSplitbuttonComponent implements OnInit {
 
  items: MenuItem[] = [];
 
  constructor(private messageService: MessageService) { }
 
  ngOnInit(): void {
    this.items = [
      {
        label: 'Update', icon: 'pi pi-refresh', command: () => {
          this.update();
        }
      },
      {
        label: 'Delete', icon: 'pi pi-times', command: () => {
          this.delete();
        }
      },
      { label: 'Angular.io', icon: 'pi pi-info', url: 'http://angular.io' },
      { separator: true },
      { label: 'Setup', icon: 'pi pi-cog', routerLink: ['/setup'] }
    ];
  }
 
  save(severity: string) {
    this.messageService.add({ severity: severity, summary: 'Success', detail: 'Data Saved' });
  }
 
  update() {
    this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Updated' });
  }
 
  delete() {
    this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Deleted' });
  }
}

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

<p-splitButton label="Save" icon="pi pi-plus" (onClick)="save('info')" [model]="items"></p-splitButton>

Для отображения всплывающих сообщений разместите в теле страницы следующий код:.

Basic

<p-splitButton label="Save" icon="pi pi-plus" (onClick)="save('info')" [model]="items"></p-splitButton>

Severities

<p-splitButton label="Save" icon="pi pi-plus" (onClick)="save('info')" [model]="items"></p-splitButton>
<p-splitButton label="Save" icon="pi pi-plus" (onClick)="save('info')" [model]="items" styleClass="p-button-secondary p-mb-2"></p-splitButton>
<p-splitButton label="Save" icon="pi pi-plus" (onClick)="save('success')" [model]="items" styleClass="p-button-success p-mb-2"></p-splitButton>
<p-splitButton label="Save" icon="pi pi-plus" (onClick)="save('info')" [model]="items" styleClass="p-button-info p-mb-2"></p-splitButton>
<p-splitButton label="Save" icon="pi pi-plus" (onClick)="save('warn')" [model]="items" styleClass="p-button-warning p-mb-2"></p-splitButton>
<p-splitButton label="Save" icon="pi pi-plus" (onClick)="save('warn')" [model]="items" styleClass="p-button-help p-mb-2"></p-splitButton>
<p-splitButton label="Save" icon="pi pi-plus" (onClick)="save('error')" [model]="items" styleClass="p-button-danger p-mb-2"></p-splitButton>

Размеры

<p-splitButton
<p-splitButton
label="Save"
icon="pi pi-plus"
(onClick)="save(&aposinfo&apos)"
[model]="items"
styleClass="p-splitbutton-xs"
></p-splitButton>
<p-splitButton
  label="Save"
  icon="pi pi-plus"
  (onClick)="save(&aposinfo&apos)"
  [model]="items"
  styleClass="p-splitbutton-sm"
></p-splitButton>
<p-splitButton label="Save" icon="pi pi-plus" (onClick)="save(&aposinfo&apos)" [model]="items"></p-splitButton>
<p-splitButton label="Save" icon="pi pi-plus" (onClick)="save(&aposinfo&apos)" [model]="items" styleClass="p-splitbutton-lg"></p-splitButton>

Свойства

NameTypeDefaultDescription
labelstringnullText of the button.
iconstringnullName of the icon.
iconPosstringleftPosition of the icon, valid values are "left" and "right".
stylestringnullInline style of the component.
styleClassstringnullStyle class of the component.
menuStylestringnullInline style of the overlay menu.
menuStyleClassstringnullStyle class of the overlay menu.
appendToanynullTarget element to attach the overlay, valid values are "body" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]="mydiv" for a div element having #mydiv as variable name).
disabledbooleanfalseWhen present, it specifies that the component should be disabled.
tabindexnumbernullIndex of the element in tabbing order.
dirstringnullIndicates the direction of the element.
showTransitionOptionsstring225ms ease-outTransition options of the show animation.
hideTransitionOptionsstring195ms ease-inTransition options of the hide animation.
expandAriaLabelstringnullDefines a string that labels the expand button for accessibility.

События

NameParametersDescription
onClickevent: browser event<br>Callback to invoke when default command button is clicked.
onDropdownClickevent: browser event<br>Callback to invoke when dropdown button is clicked.

Стилизация

NameElement
p-splitbuttonContainer element.
p-splitbutton-menubuttonDropdown button.
p-menuOverlay menu.