【发布时间】:2019-03-05 01:43:27
【问题描述】:
我创建了一个对话框,其中包含可以选择的选项(用户)列表,使用mat-selection-list。我有一个用例,我应该禁止已经选择的用户列表再次被选中/单击。
因此,我从事件中获取选定的用户,添加一个标志以了解该用户是否已被选中,并根据我拥有的标志返回的布尔值禁用 mat-list-option。这是它的代码。
<mat-selection-list
#listItem
(selectionChange)="handleSelection($event, listItem.selectedOptions)">
<mat-list-option
*ngFor="let item of filteredArray"
[value]="item"
[disabled]="item.isSelected">
{{getDisplayValue(item)}}
<mat-divider></mat-divider>
</mat-list-option>
</mat-selection-list>
现在,问题是,我还想为已选择的用户显示一个勾号,因为mat-list-option 有一个mat-checkbox 子元素。
所以当我禁用 mat-list-option(parent) 时,它也会将类 mat-psuedo-checkbox-disabled 添加到复选框(子)中。我想防止这种情况发生。
或者建议我一种有效的方法来覆盖mat-checkbox 类并将checked 类添加到其中,即使mat-list-option 已添加禁用类。
感谢您的帮助。
更新: 通过添加 mat-list-option selected 属性来解决它。错过那个我是多么愚蠢。大声笑。
【问题讨论】:
-
您是否可以创建一个示例StackBlitz 来复制此问题?
-
当然,到目前为止,我还不能这样做。明天早上我也许可以做到。对不起。
标签: html css angular angular-material angular6