Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 角度6-更改复选框样式是否选中_Css_Angular_Checkbox_Css Selectors - Fatal编程技术网

Css 角度6-更改复选框样式是否选中

Css 角度6-更改复选框样式是否选中,css,angular,checkbox,css-selectors,Css,Angular,Checkbox,Css Selectors,我有一个复选框列表,我想在选中的复选框下面划线。我的代码如下所示: TS文件: currentQuarter: string; quarters: Observable<MeseRiferimento[]>; q1: MeseRiferimento = new MeseRiferimento(); q2: MeseRiferimento = new MeseRiferimento(); ngOnInit() { q1.desc = "One"; q1.id = "1"; q2.d

我有一个复选框列表,我想在选中的复选框下面划线。我的代码如下所示:

TS文件:

currentQuarter: string;
quarters: Observable<MeseRiferimento[]>;
q1: MeseRiferimento = new MeseRiferimento();
q2: MeseRiferimento = new MeseRiferimento();

ngOnInit() {
q1.desc = "One";
q1.id = "1";

q2.desc = "Two";
q2.id = "2"

currentQuarter = q1.id;
quarters.of([q1, q2]);
}

isQuarterSelected(q: MeseRiferimento): boolean {
return this.currentQuarter === this.getKeyFromQuarter(q);
}
<div *ngFor="let q of quarters | async" class="col-1 my-auto m-stati">
<label class="custom-control custom-checkbox ra-check">
<input type="checkbox" class="custom-control-input" [ngClass]="{'checked': isQuarterSelected(q) }">
<span class="custom-control-indicator"></span>
<span class="custom-control-description">{{q.descrizione}}</span>
</label>
</div>
.custom-control-input:checked~.custom-control-indicator {   
color: #fff;   
background-color: #3bb8eb; 
}
以下是此代码的问题:
1.当我加载页面时,默认选中复选框正确显示了类“已选中”,但未应用CSS,即未加下划线
2.当我手动选择复选框时,类“checked”正确应用,CSS也适用
3.当我手动选择另一个复选框时,类“checked”会正确地从一个切换到另一个,但前者的CSS不会更新,即前一个复选框保持下划线

谢谢你的建议

.custom-control-input:checked~.custom-control-indicator
:checked
并不意味着它已选中
类,但它意味着它已实际选中。如果要选择选中的
类,请使用点代替冒号:

.custom-control-input.checked~.custom-control-indicator

你能为上面的代码创建stackblitz吗?使用这个类
。自定义控件输入。选中~。自定义控件指示器
根据你的代码,选中的类将根据你的情况添加。尝试此选项,希望它能帮助您选择所需的
ngChecked
而不是
ngClass
,因为
ngClass
将添加一个类,而
ngChecked
将选中您的复选框。