Angular PrimeNG快速拨号事件

Angular PrimeNG快速拨号事件

Angular PrimeNG是一个开源的库,由原生的Angular UI组件组成,用来进行伟大的造型,这个框架被用来制作响应式网站,非常容易。在这篇文章中,我们将看到Angular PrimeNG速拨事件。

快速拨号组件在页面上显示一个浮动的动作按钮,当按下时显示出用户可以执行的多个主要动作。SpeedDial组件总共有4个事件。

Angular PrimeNG快速拨号事件:

  • onVisibleChange:这个事件接受一个回调,当元素的可见性改变时,回调会被调用。
  • onClick。这个事件接受一个回调,在按钮元素被点击时被调用。
  • onShow:这个事件接受一个回调,当快速拨号的动作被显示时,回调就会被调用。
  • onHide:这个事件接受一个回调,当快速拨号动作被隐藏时,这个回调会被调用。

语法:

<p-speedDial 
    [model]="actions"
    ...
    **(event-name)="callback()"** >
</p-speedDial>

创建Angular应用程序并安装模块:

第1步:使用以下命令创建一个Angular应用程序。

ng new appname

第2步:创建你的项目文件夹即appname后,使用以下命令移动到它。

cd appname

第3步:最后,在你给定的目录中安装PrimeNG。

npm install primeng --save
npm install primeicons --save

项目结构:在完成上述步骤后,项目结构将看起来像这样。

Angular PrimeNG快速拨号事件

Project Structure

例子1:在这个例子中,我们使用了快速拨号的onVisibleChange和onClick事件,并在这些事件被触发时使用Toast Message来通知用户。

  • app.component.html
<h2 style="color: green">GeeksforGeeks</h2>
<h3>
    Angular PrimeNG Form
    SpeedDial Events Component
</h3>
  
<p-speedDial className="mt-8" 
             [model]="actions" 
             (onVisibleChange)="handleVisibleChange()" 
             (onClick)="handleClick()"
             type="semi-circle" 
             direction="right">
</p-speedDial>
<p-toast></p-toast>
  • app.component.ts:
import { Component } from '@angular/core';
import { MenuItem, MessageService } from 'primeng/api';
  
@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    providers: [MessageService]
})
  
export class AppComponent {
    constructor(private msgs: MessageService) { }
    actions: MenuItem[] = []
  
    ngOnInit() {
        this.actions = [
            {
                icon: 'pi pi-bell',
                command: () => {
                    this.msgs.add({
                        severity: 'info',
                        summary: 'Notifications Opened',
                        detail: 'GeeksforGeeks'
                    });
                }
            },
            {
                icon: 'pi pi-bookmark',
                command: () => {
                    this.msgs.add({
                        severity: 'success',
                        summary: 'Page Bookmarked',
                        detail: 'GeeksforGeeks'
                    });
                }
            },
            {
                icon: 'pi pi-cog',
                command: () => {
                    this.msgs.add({
                        severity: 'warn',
                        summary: 'Settings Opened',
                        detail: 'GeeksforGeeks'
                    });
                }
            },
            {
                icon: 'pi pi-home',
                command: () => {
                    this.msgs.add({
                        severity: 'success',
                        summary: 'Home Clicked',
                        detail: 'GeeksforGeeks'
                    });
                }
            },
        ];
    }
  
    handleVisibleChange() {
        this.msgs.add({
            severity: 'success',
            summary: 'onVisibleChange Event Fired',
            detail: 'GeeksforGeeks'
        });
    }
    handleClick() {
        this.msgs.add({
            severity: 'info',
            summary: 'onClick Event Fired',
            detail: 'GeeksforGeeks'
        });
    }
}
  • 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 { FormsModule } from '@angular/forms';
import { SpeedDialModule } from 'primeng/speeddial';
import { ToastModule } from 'primeng/toast';
  
@NgModule({
    imports: [
        BrowserModule,
        BrowserAnimationsModule,
        FormsModule,
        SpeedDialModule,
        ToastModule
    ],
    declarations: [AppComponent],
    bootstrap: [AppComponent],
})
export class AppModule { }

输出:

Angular PrimeNG快速拨号事件

例子2:这个例子显示了SpeedDial组件的onShow和onHide事件的使用。

  • app.component.html:
<h2 style="color: green">GeeksforGeeks</h2>
<h3>
    Angular PrimeNG Form
    SpeedDial Events Component
</h3>
  
<p-speedDial className="mt-8" 
             [model]="actions" 
             (onShow)="handleShow()" 
             (onHide)="handleHide()"
             type="semi-circle"
             direction="right">
</p-speedDial>
<p-toast></p-toast>
  • app.component.ts
import { Component } from '@angular/core';
import { MenuItem, MessageService } from 'primeng/api';
  
@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    providers: [MessageService]
})
  
export class AppComponent {
    constructor(private msgs: MessageService) { }
    actions: MenuItem[] = []
  
    ngOnInit() {
        this.actions = [
            {
                icon: 'pi pi-bell',
                command: () => {
                    this.msgs.add({
                        severity: 'info',
                        summary: 'Notifications Opened',
                        detail: 'GeeksforGeeks'
                    });
                }
            },
            {
                icon: 'pi pi-bookmark',
                command: () => {
                    this.msgs.add({
                        severity: 'success',
                        summary: 'Page Bookmarked',
                        detail: 'GeeksforGeeks'
                    });
                }
            },
            {
                icon: 'pi pi-cog',
                command: () => {
                    this.msgs.add({
                        severity: 'warn',
                        summary: 'Settings Opened',
                        detail: 'GeeksforGeeks'
                    });
                }
            },
            {
                icon: 'pi pi-home',
                command: () => {
                    this.msgs.add({
                        severity: 'success',
                        summary: 'Home Clicked',
                        detail: 'GeeksforGeeks'
                    });
                }
            },
        ];
    }
  
    handleShow() {
        this.msgs.add({
            severity: 'success',
            summary: 'onShow Event Fired',
            detail: 'Actions Shown'
        });
    }
    handleHide() {
        this.msgs.add({
            severity: 'error',
            summary: 'onHide Event Fired',
            detail: 'Actions Hidden'
        });
    }
}
  • 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 { FormsModule } from '@angular/forms';
import { SpeedDialModule } from 'primeng/speeddial';
import { ToastModule } from 'primeng/toast';
  
@NgModule({
    imports: [
        BrowserModule,
        BrowserAnimationsModule,
        FormsModule,
        SpeedDialModule,
        ToastModule
    ],
    declarations: [AppComponent],
    bootstrap: [AppComponent],
})
export class AppModule { }

输出:

Angular PrimeNG快速拨号事件

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程