javascript - 在 PrimeNg 表中同时使用复选框选择和行选择

标签 javascript angular typescript primeng

我正在使用 PrimeNg 表组件,需要实现行选择。我有以下代码:

    <p-table
        [value]="data"
        [columns]="columns"
        [(selection)]="selectedItems"
        selectionMode="multiple">
    <ng-template pTemplate="header">
        <tr>
            <th>
                <p-tableHeaderCheckbox style="margin-left: 5px;"></p-tableHeaderCheckbox>
            </th>
            <th>Header 1</th>
            <th>Header 2</th>
        </tr>
    </ng-template>
    <ng-template pTemplate="body" let-row>
        <tr [pSelectableRow]="row">
            <td>
                <p-tableCheckbox [value]="row"></p-tableCheckbox>
            </td>
            <td>Value 1</td>
            <td>Value 2</td>
        </tr>
    </ng-template>
</p-table>
基本上,我使用文档 here 中给出的不带元键的复选框选择和多选。 .现在,当我单击该行时,它正在选择并且复选框也被选中。但是当我点击复选框时,它没有被选中。如果我点击 Select All ,然后它也在选择所有行。当我使用开发者工具检查时,它没有生成 aria-checked即使检测到点击也为真。
解决此问题的任何解决方法?

最佳答案

@Arun 的回答是正确的。如果有人也偶然发现这个问题并且时间紧迫,我只是添加一些格式;):

<ng-template pTemplate="body" let-data>
    <tr [pSelectableRow]="data">
       <td>
          <p-tableCheckbox [pSelectableRow]="data" [value]="data"></p-tableCheckbox>
       </td>
    </tr>
</ng-template>
它也可以在不向 tableCheckbox 提供 [index] 的情况下运行良好。

关于javascript - 在 PrimeNg 表中同时使用复选框选择和行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64483628/

相关文章:

javascript - Page/Div 内容在点击时淡入淡出

javascript - JavaScript 中的排列

typescript - Reflect.getMetadata 在 angular2 中不起作用

angular - 类型 'number' 的参数不可分配给类型 'string' 的形参

javascript - 将 d3 事件从 Javascript 转换为 Typescript (Angular2)

javascript - 什么会导出 JavaScript/Node.JS 文件?

javascript - div 循环隐藏和显示

angular - @angular/material 日期选择器位置

javascript - TS : missing typings for optional members in implementation of abstract class that implements interface

typescript - 如何告诉 Typescript 从一个不太严格的接口(interface)转换到一个更严格的接口(interface)是可以的?