css - 在 primeNg 单选按钮上设置样式
问题描述
我正在尝试使用 primeNg 样式类在所选单选按钮及其标签周围设置边框。我的 HTML 代码如下:
<div class="p-d-flex p-flex-column">
<p-radioButton
styleClass="radio-style"
class="p-col"
[(ngModel)]="form"
[value]="true"
label="true"
></p-radioButton>
<p-radioButton
styleClass="radio-style"
class="p-col"
[(ngModel)]="form"
[value]="false"
label="false"
></p-radioButton>
</div>
我的 SCSS 就像:
:host ::ng-deep .radio-style.p-radiobutton {
border: thin solid green;
}
我希望绿色围绕整个事物,而不仅仅是盒子本身,而且只围绕选定的盒子。(对于我尝试使用的第二个问题,p-label-active
但我认为我做得不对,因为它没有用)
我怎样才能实现标签周围的边框,以及如何只在选定的单选按钮上拥有它?
编辑 2: 我找到了一种解决方法。如果存在,仍在寻找更好的答案。解决方法:使用自定义类和 ngClass,如 stackblitz 更新中所示。
HTML:
<div class="p-d-flex p-flex-column">
<p-radioButton [ngClass]="{'selected':form===true}" styleClass="radio-style" class="p-col" [(ngModel)]="form"
[value]="true" label="true"></p-radioButton>
<p-radioButton [ngClass]="{'selected':form===false}" styleClass="radio-style" class="p-col" [(ngModel)]="form"
[value]="false" label="false">
</p-radioButton>
</div>
CSS:
.selected {
border: thin solid green;
}
解决方案
解决方案最终变得更加简单 - 课程需要更进一步。
所以,HTML:
<div class="p-d-flex p-flex-column">
<p-radioButton
styleClass="radio-style"
class="p-col" [ngClass]="{'selected':form}"
[(ngModel)]="form"
[value]="true"
label="true"
></p-radioButton>
<p-radioButton
styleClass="radio-style"
class="p-col" [ngClass]="{'selected':!form}"
[(ngModel)]="form"
[value]="false"
label="false"
></p-radioButton>
</div>
然后是scss:
.selected {
border: 2px solid green ;
}
推荐阅读
- javascript - Ionic 4:如何在设备上保存来自 firebase 存储的离线模式的图像
- java - 杰克逊转换中无法识别的字段“类”
- javascript - 如何禁用 CSS 过渡,更新样式,然后使用 JavaScript 快速恢复过渡
- r - 在标识符的值内将重叠间隔拆分为非重叠间隔
- c++ - 通过传递其长度在函数内部声明一个数组
- umbraco - 如何在本地环境中备份/设置 Umbraco 生产站点的副本
- akka-http - Akka-http 与 Akka-Remoting
- python - 如何根据 PySpark 数据框的另一列中的值修改列?F.当边缘情况
- javascript - 使用 JavaScript 将数字数组转换为字符串并返回到单个函数中的数字数组
- python - 如何以严格的顺序调用函数?