【问题标题】:PrimeNG DataTable; Destinguish between '[(selection)]' and the 'onRowClick' event handlerPrimeNG 数据表; '[(selection)]' 和 'onRowClick' 事件处理程序之间的区别
【发布时间】:2016-08-11 08:37:19
【问题描述】:

我目前正在使用 primeNG 显示员工列表。
我想单击它们进行编辑,并且我有一个带有组合框的列,用于选择多个员工以删除多个员工。
问题是,如果我单击组合框,'onRowClick' 处理程序也会触发。当编辑对话框出现时,这是我不喜欢的。
有没有办法区分这两个类似的仅列事件处理程序?

我的桌子

<p-dataTable [value]="employees" [(selection)]="selectedEmployees" (onRowClick)="routeToEmployee($event)">
        <p-column [style]="{'width':'38px'}" selectionMode="multiple"></p-column>
        <p-column *ngFor="let col of columns" [field]="col.field" [header] = "col.header"></p-column>
</p-dataTable>  

【问题讨论】:

  • onRowClick 只是传递行数据和浏览器事件。不幸的是,它们都不包含点击的列。
  • 是的,我刚刚检查了他们的源代码......真可惜:(
  • 但我不知道现在该做什么来实现我的任务。我可以成像的唯一方法是发送功能请求,或者将onRowClick 替换为onRowDblClick。不过还是谢谢你。

标签: angular primeng


【解决方案1】:

您可以在单击复选框时运行 stopPropagation()。

例子:

<p-column styleClass="col-button" header="Select for restructurization">
    <template let-pLoan="rowData" pTemplate type="body">
        <p-checkbox (click)="$event.stopPropagation()" name="personalLoans" value="val1" [(ngModel)]="selectedLoansForRestruct"></p-checkbox>
    </template>
</p-column>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-10
    • 2020-01-26
    • 2015-02-14
    • 1970-01-01
    • 2017-01-29
    • 1970-01-01
    相关资源
    最近更新 更多