我有以下p:selectOneRadio
:
<p:outputPanel id="customPanel">
<p:selectOneRadio id="customRadio" value="#{dyna.selecetedlist}" layout="grid" columns="1">
<c:forEach var="list" items="#{dyna.userlist}" varStatus="loop">
<f:selectItem itemEscaped="true" itemLabel="#{list.id.tbCode}" itemValue="#{list.id.tbCode}" />
</c:forEach>
<p:ajax update=":form1:tabexam,:form1:msg,:form1:colser" listener="#{dyna.updatecolumns}"/>
</p:selectOneRadio>
</p:outputPanel>
生成这个:
我想要的是覆盖p:selectOneRadio
的默认图标和布局。
并在下面呈现它:
答案 0 :(得分:2)
要自定义图标,请覆盖页面上的.ui-radiobutton-icon
(有一个更清晰的选项,包括正确打包的css文件):
<style type="text/css">
.ui-radiobutton-icon{
background: url(imgs/icon.png) no-repeat; !important;
}
</style>
编辑:覆盖
.ui-state-hover
类覆盖组件的默认悬停样式.ui-state-active
clasas覆盖组件的默认选定样式注意覆盖上面列出的两个类都会影响该页面上的所有组件。重写时务必使用自定义命名空间。举个例子
.my-custom-ns .ui-state-hover{
//css
}
然后在您的组件定义中:
<p:selectOneRadio id="customRadio" value="#{dyna.selecetedlist}" styleClass="my-custom-ns" layout="grid" columns="1">
<c:forEach var="list" items="#{dyna.userlist}" varStatus="loop">
<f:selectItem itemEscaped="true" itemLabel="#{list.id.tbCode}" itemValue="#{list.id.tbCode}" />
</c:forEach>
<p:ajax update=":form1:tabexam,:form1:msg,:form1:colser" listener="#{dyna.updatecolumns}"/>
</p:selectOneRadio>