如何仅对Angular指定组件内的单个mat-checkbox应用::ng-deep样式
解决方案
- 第一步:为目标复选框添加专属自定义类
在你需要修改样式的mat-checkbox标签上新增自定义类名,示例中我们使用custom-blue-checkbox,修改后的组件代码如下:
<mat-checkbox *ngIf="currentSelectedTenants(subtenant) else currentSubtenants" color="accent" [(ngModel)]="dealDispositionFormFields.currentSubtenants" [checked]="currentSelectedTenants(subtenant)" (change)="changeCurrentSubtenants($event,subtenant)" style="margin-left:10px;" class="custom-blue-checkbox" > <mat-label class="alter-text-color" style="font-size: 12px;">{{subtenant.subtenantName}}</mat-label> </mat-checkbox>
- 第二步:调整CSS样式作用范围
修改原有::ng-deep样式,新增自定义类作为父级选择器限制生效范围,调整后的样式代码如下:
::ng-deep .custom-blue-checkbox .mat-checkbox-checkmark-path { stroke: rgba(0, 125, 255, 1) !important; }
调整完成后,该样式仅会作用于带有custom-blue-checkbox类的单个复选框,组件内其余4个复选框样式不受影响。
内容的提问来源于stack exchange,提问作者Akshay Amar
相关产品推荐
相关产品推荐

