html - 如何防止动态添加的父类添加到 Angular Material,mat-selection-list 中的子元素?

标签 html css angular angular-material angular6

我使用 mat-selection-list 创建了一个对话框,其中包含可以选择的选项(用户)列表。我有一个用例,我应该禁止已选择的用户列表再次被选择/点击。

因此,我从事件中获取选定的用户,添加一个标志以了解用户是否已被选中,并根据返回的 bool 值禁用 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 添加到复选框(child)中.我想防止这种情况发生。

或者建议我一种有效的方法来覆盖 mat-checkbox 类并向其添加 checked 类,即使 mat-list-option 已添加禁用类。

感谢任何帮助,谢谢。

更新: 通过向其添加 mat-list-option selected 属性来解决它。我错过那个是多么愚蠢。大声笑。

最佳答案

 <mat-list-option *ngFor="let item of filteredArray" [value]="item" [disabled]="item.isSelected" [selected]="item.isSelected">

能够在同事的帮助下解决这个问题。

我没看对地方。

关于html - 如何防止动态添加的父类添加到 Angular Material,mat-selection-list 中的子元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52565843/

相关文章:

jquery - 从顶部而不是从底部的 SVG 动画

javascript - 在 Internet Explorer 中淡化 PNG 不起作用

html - 当它在表格内时突出显示整个 div

基于宽度的CSS选择器?

sql-server - Node js - 导入 mssql 模块以用于 Angular 2 项目错误 : "Can' t resolve 'dns' "and " Can't resolve 'dgram' "

html - Dreamweaver 的替代品?

java - JSTL 不删除变量值

jquery - 选择 ids 中具有相似模式的 div

Angular 17 窗口未定义

angular - 如何在 Angular 2 中创建属性指令并将其绑定(bind)到属性?