onRowSelect / onRowClick根本不会被触发。 -Primeng表格-Angular

时间:2019-07-05 13:05:04

标签: angular primeng primeng-datatable

我实际上需要遍历另一个组件,并在单击行时选择了数据。我一直在使用p表执行相同的操作。我完全不知道为什么。 onRowClick / onRowSelection根本不会被触发,我什至添加了console.log字符串来查看是否至少调用了方法,但没有。甚至[(selection)]也表现不佳。 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>

1 个答案:

答案 0 :(得分:1)

可能的替代解决方案:在<tr>标记中,添加(click)="handleSelect(rowData)"并删除(onRowClick)处理程序。

理论上:

  • 如果(onRowClick)绑定不起作用,请绑定到其他事件。
  • let-rowData迭代中的rowData具有该行中的信息,这似乎是您需要传递给其他组件的信息。
  • 过去,这种方法对我来说很成功,当用户单击行时可以使用p表捕获该表。