如果禁用,Scss 会更改 mat-checkbox 的颜色

Use*_*438 5 sass angular

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

/deep/.mat-checkbox-checked.mat-accent .mat-checkbox-background, .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background {
    background-color: #A5C73C;
}
Run Code Online (Sandbox Code Playgroud)

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

Sta*_*low 6

Usr 的答案让我走上了正轨,但/deep/对我来说不起作用,所以我不得不将其更改为使用::ng-deep伪类。请注意,根据文档,这将使样式成为全局的。另外,就我而言,我必须使用!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;
}
Run Code Online (Sandbox Code Playgroud)


Usr*_*Usr 3

我认为这应该有效:

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