使用模板时如何防止 PrimeNG Tree onNodeSelect() 触发?

How can I prevent PrimeNG Tree onNodeSelect() from firing when using templating?

我正在尝试将 PrimeNG 树与模板一起使用。一切都显示正常,但我的模板内的任何点击都是 selecting/deselecting 节点,有什么办法可以防止这种情况发生吗?在下面的代码中,我只想单击元素来调用 doSomething(),而不是 nodeSelected():

<p-tree [value]="tree" selectionMode="checkbox" [(selection)]="treeSelected" (onNodeSelect)="nodeSelected($event.node.data)">
    <ng-template let-node pTemplate="template1">
        {{node.label}}
        <span class="labelDescription">Type 1</span>
        <a href="javascript:void(0);" (click)="doSomething(node.data)">Do Something</a>
    </ng-template>
</p-tree>

使用 Angular 的 event binding 并将其添加到 doSomething() 方法中。它将通过简单地阻止它来拦截从项目冒泡到行的事件:

doSomething(event, item){      
   event.stopPropagation();
   // as before you had
}

并将 HTML 更改为:

<a href="javascript:void(0);" (click)="doSomething($event, node.data)">Do Something</a>