我无法将复选框列添加到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回购中的示例,但我无法在任何地方找到这个批量选择。 (如果官方文档以某种方式包含角度组件和标记的完整源,那将会很好。)
感谢您的帮助!
答案 0 :(得分:6)
您的控制器上是否设置了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'},
]
}