首页 文章

如何获取多选复选框列到数据网格?

提问于
浏览
1

我在将一个复选框列添加到VMware Clarity数据网格中时遇到问题,或者通常会将多个行选中 .

我可以让单一选择工作得很好 .

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

我觉得我正在按照指示正确操作,但没有显示复选框列(如果我将其更改为单选,单选按钮列会显示) .

我的标记:

<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仓库中的例子,但我无法在任何地方找到这个批量选择 . (如果官方文档以某种方式包含角度组件和标记的完整源,那将是很好的) .

谢谢你的帮助!

1 回答

  • 5

    您是否在控制器上设置了 selected 属性?如果没有,它将是未定义的,并且不会出现选择 .

    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'},
      ]
    }
    

相关问题