【问题标题】:PRIMENG: How to pass row index into onRowSelect event?PRIMENG:如何将行索引传递给 onRowSelect 事件?
【发布时间】:2022-01-15 02:52:02
【问题描述】:

我在我的数据表上使用 onRowSelect,但想将行索引传递给函数。我知道您可以使用 p 列的模板传递行索引,但我希望事件在 RowSelect 上触发,而不是在列单击时触发。索引是否包含在 $event 的某处?

【问题讨论】:

  • 这个问题你解决了吗?
  • @Chandru 没有找到使用 onRowSelect 的解决方案。但我做了一个工作,为每一列创建了一个模板,将宽度和高度设置为 100%,并通过每一列传递行索引。这种方式与使用 onRowSelect 几乎相同,只是不是一个漂亮的解决方案

标签: angular primeng


【解决方案1】:

行索引不包含在事件数据中。在onRowSelect 回调中,您可以简单地对用于填充数据表的数组执行indexOf(data)

【讨论】:

  • 您好,感谢您的回复。我考虑过使用这种方法,但是如果数据中有重复的行,有索引会更好。
  • 奇怪的是,该函数知道索引,但根本不将它包含在事件中。您可以随时修改函数以在事件中包含索引
【解决方案2】:

使用 PrimeNG,他们可以选择添加 [pSelectableRowIndex] 属性。为此,请在模板正文中添加 let-rowIndex="rowIndex"(您可以随意命名,例如 let-ri

现在在您的<tr> 上添加[pSelectableRowIndex]="rowIndex"。该索引现在将包含在选择时的 $event 中。

例子:

<ng-template pTemplate="body" let-rowData let-rowIndex="rowIndex">
  <tr [pSelectableRow]="rowData" [pSelectableRowIndex]="rowIndex">
    <td>{{rowData['val']}}</td>
  </tr>
</ng-template>

【讨论】:

    猜你喜欢
    • 2016-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    • 2011-02-03
    • 1970-01-01
    相关资源
    最近更新 更多