I have to show a context menu in a primeng tree table only in the second level. Is there any way to show the context menu only after some condition check in typescript (angular 4)?
you can bind onContextMenuSelect event and play with [hide], I have done it like this.. in html...
<p-contextMenu #cm [model]="items" [hidden]="contextMenu"></p-contextMenu>
and in ts ..
viewDetails(selectedNode) {
this.contextMenu = false;
if (selectedNode.children.length == 0) {
this.contextMenu = false;
}
else { this.contextMenu = true;}
}
hope it works..
For me, the best option was to use onContextMenuSelectEvent. First, you need to add it to the tree table
<p-treeTable [style]="{'font-size':'1.7rem'}" selectionMode="single" [(selection)]="selectedFile" (onContextMenuSelect)="contextMenu($event.node, cm)" [contextMenu]="cm" [value]="treeNodeData">
and then in the method, you have to check your conditions and show or hide context menu
contextMenu(node, contextMenu){
if(condition){
contextMenu.hide();
}
}
I hope that it will also work for you.
来源:https://stackoverflow.com/questions/47235291/show-context-menu-after-condition-check-in-primeng-angular-4