首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >angular primeng如何在单击鼠标左键时显示上下文菜单

angular primeng如何在单击鼠标左键时显示上下文菜单
EN

Stack Overflow用户
提问于 2017-08-21 22:00:43
回答 2查看 886关注 0票数 1

我是angular2/primeng的新手。

如何在数据表中显示primeng上下文菜单,而不是默认的右键单击?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2017-08-24 12:10:55

您可能需要重新考虑为什么要像这样更改默认设置。右键单击几乎是人们期望上下文菜单工作的通用方式。正如帕尔迪普所说,除了在代码中寻根之外,你无法改变这一点。

票数 0
EN

Stack Overflow用户

发布于 2021-07-27 00:35:51

从PrimeNG版本6.1.4开始,可以使用属性完成此操作。

在模板上:

代码语言:javascript
代码运行次数:0
运行
复制
<img #targetImage2 src="assets/img/vejo_trabalhos_bonitos.jpg" alt="Test image">
<p-contextMenu [target]="targetImage2" [model]="contextMenuItems" [appendTo]="'body'" triggerEvent="click"></p-contextMenu>

在组件上:

代码语言:javascript
代码运行次数:0
运行
复制
contextMenuItems: MenuItem[];

constructor(private messageService: MessageService) { }

ngOnInit(): void {
  this.contextMenuItems = [
    { label: 'Edit', icon: 'pi pi-fw pi-pencil', command: event => this.displayMessage(event.item.label) },
    { label: 'Export', icon: 'pi pi-fw pi-external-link', command: event => this.displayMessage(event.item.label) },
    { label: 'Delete', icon: 'pi pi-fw pi-trash', command: event => this.displayMessage(event.item.label) }
  ];
}

displayMessage(action: string): void {
  this.messageService.add({severity: 'info', summary: `"${action}" action clicked!`});
}

,但如果要同时显示鼠标左键事件和鼠标右键事件的上下文菜单。也可以这样做。

在模板上:

代码语言:javascript
代码运行次数:0
运行
复制
<img #targetImage src="assets/img/vejo_trabalhos_bonitos.jpg" alt="Test image" (click)="onLeftMouseClick($event,contextMenu)">
<p-contextMenu #contextMenu [target]="targetImage" [model]="contextMenuItems" [appendTo]="'body'"></p-contextMenu>

在组件上:

代码语言:javascript
代码运行次数:0
运行
复制
contextMenuItems: MenuItem[];

constructor(private messageService: MessageService) { }

ngOnInit(): void {
  this.contextMenuItems = [
    { label: 'Edit', icon: 'pi pi-fw pi-pencil', command: event => this.displayMessage(event.item.label) },
    { label: 'Export', icon: 'pi pi-fw pi-external-link', command: event => this.displayMessage(event.item.label) },
    { label: 'Delete', icon: 'pi pi-fw pi-trash', command: event => this.displayMessage(event.item.label) }
  ];
}

displayMessage(action: string): void {
  this.messageService.add({severity: 'info', summary: `"${action}" action clicked!`});
}

onLeftMouseClick(event: MouseEvent, contextMenu: ContextMenu): void {
  event.stopPropagation();
  event.preventDefault();
  contextMenu.show(event);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45799052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档