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)?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
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..
回答2:
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.