我正在使用primefaces应用程序,我必须在下拉列表中实现显示用户对象列表的功能,用户可以选择多个用户对象并对其进行过滤。
如果用户被删除或处于非活动状态,我需要显示该用户值。
我看到了这个链接并以相同的方式实现但没有任何效果
Different colors of options in selectOneMenu (Primefaces)
如果我在selectManyMenu下面使用了这个,那么下拉列表就会出现在页面加载中,但是当用户选择下拉列表时,下拉列表就会出现
https://www.primefaces.org/showcase/ui/input/manyMenu.xhtml
由于此功能存在于许多地方,我编写了一个自定义下拉列表:
<cc:interface>
<cc:attribute name="id" required="true"/>
<cc:attribute name="value" required="true"/>
<cc:attribute name="converterId" type="java.lang.String"/>
</cc:interface>
<cc:implementation>
<div class="userCheckBoxMenu">
<div style="display: inline-block; position: relative;">
<p:selectCheckboxMenu
var="t" filter="true" filterMatchMode="contains" showCheckbox="true">
<f:selectItems value="${cc.attrs.value}" var="u" itemLabel="#{myBean.formatUser(u)}" itemValue="#{u}"/>
<p:column>
<h:outputText value="#{myBean.formatUser(t)}" styleClass="#{myBean.isValidUser(t)} ? 'white-background' :'invalid-user-text'" />
</p:column>
<f:converter converterId="converterId" />
</p:selectCheckboxMenu>
</div>
</div>
</cc:implementation>
下拉即将到来,但无效的用户价值仍然显示正常,未被删除。
当我看到生成的html时,p:selectOneMenu
为下拉列表生成table
,但p:selectCheckBoxMenu
生成div
元素,该列正在生成另一个下拉列表,但它已被隐藏。
对此感到困惑,如何处理这种情况?
提前致谢!!!!!!!