如果禁用,Scss更改Mat-复选框的颜色

时间:2019-07-05 10:23:59

标签: angular sass

在我的组件的scss文件中,我可以使用它来设置选中时mat-checkbox的背景颜色:

/deep/.mat-checkbox-checked.mat-accent .mat-checkbox-background, .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background {
    background-color: #A5C73C;
}

现在,当复选框被选中但被禁用时,我需要为复选框设置不同的颜色(必须始终选择某些数据,并且禁用复选框以防止取消选中)。如何在scss中使用/ deep /指定禁用的属性?

2 个答案:

答案 0 :(得分:1)

Usr's answer使我处在正确的轨道上,但是/deep/对我不起作用,因此我不得不更改它以使用::ng-deep伪类。请注意,根据the documentation,这将使样式变为全局样式。另外,就我而言,我必须使用!important才能使样式生效。

::ng-deep.mat-checkbox-checked.mat-accent.mat-checkbox-disabled .mat-checkbox-background, .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background {
  background-color: #ccc !important;
}

答案 1 :(得分:0)

我认为这应该可行:

/deep/.mat-checkbox-checked.mat-accent.mat-checkbox-disabled .mat-checkbox-background, .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background {
    background-color: (your color);
}