带有 turbotable 的 Primeeng 上下文菜单:如何在关闭上下文菜单时删除行选择

0 contextmenu primeng angular primeng-turbotable

我使用的是contextmenuturbotableprimeng(6.1.0版本)。

根据网站上的演示,当您右键单击一行时,会出现上下文菜单并选择该行,但是当您在上下文菜单外单击时,菜单消失但该行仍被选中。我想要的是在隐藏上下文菜单时取消选择该行。

https://www.primefaces.org/primeng/#/table/contextmenu

任何想法如何实现这一目标?

小智 6

添加contextMenuSelectionMode="joint"到您的 p 表对象。

像这样:

<p-table [columns]="cols" [value]="cars" selectionMode="single" [(selection)]="selectedCar" [contextMenu]="cm" contextMenuSelectionMode="joint">
    <ng-template pTemplate="header" let-columns>
        <tr>
            <th *ngFor="let col of columns">
                {{col.header}}
            </th>
        </tr>
    </ng-template>
    <ng-template pTemplate="body" let-rowData let-columns="columns">
        <tr [pSelectableRow]="rowData" [pContextMenuRow]="rowData">
            <td *ngFor="let col of columns">
                {{rowData[col.field]}}
            </td>
        </tr>
    </ng-template>
</p-table>
Run Code Online (Sandbox Code Playgroud)

根据https://github.com/primefaces/primeng/issues/5558#issuecomment-404088622