实际上,我需要遍历到另一个组件,并在单击行时选择数据。我一直在用p-table来执行同样的操作。我完全不知道为什么。onRowClick / onRowSelection根本不被触发,我甚至添加了一个console.log字符串来查看方法是否至少被调用了,但没有,甚至(选择)也没有很好的效果。p-table没有问题,因为分页和全局过滤器实际上运行良好,并且没有问题。但这件事我不知道为什么。Primeng版本"primeng": "^7.1.3"
<p-table [columns]="cols" [value]="companiesList" selectionMode="single"
(onRowClick)="handleSelect($event)"
>
<ng-template pTemplate="header" let-columns>
<tr>
<th *ngFor="let col of columns" [pSortableColumn]="col.field">
{{col.header}}
<p-sortIcon [field]="col.field"></p-sortIcon>
</th>
</tr>
</ng-template>
<ng-template pTemplate="body" let-rowData let-columns="columns">
<tr>
<td *ngFor="let col of columns">
{{rowData[col.field]}}
</td>
</tr>
</ng-template>
</p-table>发布于 2019-07-05 13:11:09
可能的替代解决方案:在<tr>标记中添加(click)="handleSelect(rowData)"并删除(onRowClick)处理程序。
理由:
发布于 2022-03-10 17:35:01
即使这个问题早在很久以前就提出了,也许这会对其他人有所帮助。
事件不是onRowClick(),而是onRowSelect(),因此您需要说:
<p-table [columns]="cols" [value]="companiesList" selectionMode="single"
(onRowSelect)="handleSelect($event)"还有一个可用的onRowUnselect()。还要确保在行的html中指示行是可选择的:
<ng-template pTemplate="body" let-rowData let-columns="columns">
<tr [pSelectableRow]="rowData">https://stackoverflow.com/questions/56903662
复制相似问题