如何将 multi-select 的复选框列放入数据网格中?

how do i get a checkbox column for multi-select into a datagrid?

我在将复选框列放入 VMware Clarity 数据网格时遇到问题,或者通常无法让多个 select 行正常工作。

我可以单身 select 工作得很好。

我在 VMware Clarity 文档中看到了示例: https://vmware.github.io/clarity/documentation/datagrid/batch-action

我觉得我正确地遵循了指示,但没有显示复选框列(如果我将其更改为单个 select,则会显示单选按钮列)。

我的标记:

<clr-datagrid [(clrDgSelected)]="selected" [clDgRowSelection]="true">

<clr-dg-action-bar>
    <div class="btn-group">
        <button type="button" class="btn btn-sm btn-secondary" (click)="onAdd()"><clr-icon shape="plus"></clr-icon> Register</button>
        <button type="button" class="btn btn-sm btn-secondary" (click)="onDelete()" ><clr-icon shape="close"></clr-icon> Delete</button>
        <button type="button" class="btn btn-sm btn-secondary" (click)="onEdit()" *ngIf="selected?.length == 1"><clr-icon shape="pencil"></clr-icon> Edit</button>
    </div>
</clr-dg-action-bar>

<clr-dg-column>Name</clr-dg-column>
<clr-dg-column>Serial #</clr-dg-column>

<clr-dg-row *clrDgItems="let networkSystem of networkSystems"  [clrDgItem]="networkSystem">
    <clr-dg-cell>{{networkSystem.name}}</clr-dg-cell>
    <clr-dg-cell>{{networkSystem.serial_number}}</clr-dg-cell>
</clr-dg-row>

</clr-datagrid>

我已尝试深入了解 Clarity 存储库中的示例,但我无法在任何地方找到这批 selection one。 (如果官方文档以某种方式包含 angular 组件和标记的完整源代码,那就太好了)。

感谢您的帮助!

您的控制器上是否设置了 selected 属性?如果没有,则为undefined,不会出现选择。

import { Component } from '@angular/core';

@Component({
  selector: 'my-component',
  templateUrl: './my.component.html'
})
export class MyComponent  {
  selected = [];
  networkSystems = [
    {name: 'System 1', serial_number: 'abc'},
    {name: 'System 2', serial_number: 'def'},
    {name: 'System 3', serial_number: 'ghi'},
  ]
}