如何在mat-selection-list中使列表选择选项唯一?

时间:2017-12-08 06:54:33

标签: javascript angular list angular-material2

我有一个用例,我需要在Angular2材质选择列表中进行唯一的列表选择..

我已经完成了

https://github.com/angular/material2/blob/master/src/demo-app/list/list-demo.html

https://github.com/angular/material2/blob/master/src/lib/list/selection-list.spec.ts

请帮助..

1 个答案:

答案 0 :(得分:1)

我正在围绕这个完全相同的问题。 我的第一种方法是隐藏材料选择列表的复选框。 并在(selectionChange)上调用一个函数,该函数解除了我的模态并将数据发送回其父模式。

选择-对话框的component.html

.rect {
  line-height: 30px;
}

选择-对话框的component.ts

<mat-selection-list>
  <mat-list-option *ngFor="let option of options" [value]="option.value" (selectionChange)="onSelectedOptionsChange(value)"> {{option.name}} </mat-list-option>
</mat-selection-list>

并且还添加了css(正如我上面评论的那样)

onSelectedOptionsChange(value) {this.dialogRef.close(value);}

就是这样。有用。它看起来很酷,一切都很好,直到你意识到它有点滞后。然后你弄清楚,如果你多次切换模态,它会开始滞后。

所以,这是我的第二种方法(也似乎更正确)。 而不是使用mat-selection-list使用mat-list并将mat-buttons放在里面。

选择-对话框组分-v2.html

.mat-pseudo-checkbox {display: none;}

希望它有所帮助!