来自p:selectManyMenu

时间:2015-12-03 11:55:59

标签: jsf primefaces

我正在使用Primefaces 5.3中的selectManyMenu小部件来显示用户可以在每个应用中拥有的角色列表。

<p:outputLabel value="Roles:" rendered="#{controller.enabledApp[app.id] and not empty app.roles}"/>
<p:selectManyMenu converter="#{roleConverter}" var="r" filter="true" filterMatchMode="contains" showCheckbox="true"
  rendered="#{controller.enabledApp[app.id] and not empty app.roles}" value="#{app.selectedRoles}">

    <f:selectItems value="#{app.roles}" var="role" itemLabel="#{role.name}" itemValue="#{role}"/>

    <p:column>
        <h:outputText value="#{r.name}"/>
    </p:column>
</p:selectManyMenu>

问题是,当我从数据库预加载这些角色时,填充app实体的selectedRoles字段,Primefaces将ui-state-highlight CSS类添加到用于表示这些所选角色的表行中,但它没有' t将ui-state-active添加到代表复选框的div。

这就是我得到的:

<tr class="ui-selectlistbox-item ui-corner-all ui-state-highlight" style="">
  <td>
    <div class="ui-chkbox ui-widget">
      <div class="ui-chkbox-box ui-widget ui-corner-all ui-state-default">
        <span class="ui-chkbox-icon ui-icon ui-icon-check ui-c"/>
      </div>
    </div>
  </td>
  <td>Admin</td>
</tr>

这就是我应该得到的:

<tr class="ui-selectlistbox-item ui-corner-all ui-state-highlight" style="">
  <td>
    <div class="ui-chkbox ui-widget">
      <div class="ui-chkbox-box ui-widget ui-corner-all ui-state-default ui-state-active">
        <span class="ui-chkbox-icon ui-icon ui-c ui-icon-check"/>
      </div>
    </div>
  </td>
  <td>Admin</td>
</tr>

当父tr具有ui-state-highlight类时,我可以更改CSS以显示已选中的复选框,但我更愿意解决问题。

这可能是Primefaces中的错误吗?我有一些我不知道的错误吗?

0 个答案:

没有答案