Jsf 2 在p:SelectOne菜单primefaces中隐藏某些元素
我有一个SelectOne菜单,我想根据条件x.situacao eq'INATIVO'隐藏来自Bean的一些值Jsf 2 在p:SelectOne菜单primefaces中隐藏某些元素,jsf-2,primefaces,Jsf 2,Primefaces,我有一个SelectOne菜单,我想根据条件x.situacao eq'INATIVO'隐藏来自Bean的一些值 <p:selectOneMenu id="selectonemenu" value="#{pessoaBean.pessoa.profissao}" filter="true" filterMatchMode="startsWith" converter="simpleEntityConvert
<p:selectOneMenu id="selectonemenu"
value="#{pessoaBean.pessoa.profissao}" filter="true"
filterMatchMode="startsWith" converter="simpleEntityConverter"
required="true" requiredMessage="Selecione uma Profissao para Pessoa">
<f:selectItem itemValue="" itemLabel="Selecione..."
noSelectionOption="true" />
<f:selectItems value="#{profissaoBean.profissoes}" var="x"
itemLabel="#{x.nome}" itemValue="#{x}"
itemDisabled="#{x.situacao eq 'INATIVO'}"/>
</p:selectOneMenu>
我得到的是禁用的值,但没有从selectonemenu中隐藏它
你怎么知道的?一种方法是在Bean上过滤,但我想使用我已有的方法。您可以在服务器端过滤selectItems的集合,只将过滤后的集合传递给客户端,或者使用CSS集{display:none}对禁用的项也应该起作用,我guess@stg在这样的元素上出现这种行为是很正常的,我想知道JSF是否可以以某种方式实现这种行为。我目前使用的第一种方法是在managedbean中准备这些集合并进行一些ajax更新,在我的例子中,如果列表不是很大的话,那么它工作得很好,并且不会对性能造成太大的影响~100到200项。不幸的是,jsf组件selectItem/s不支持内置呈现属性。几个月前我也一直在寻找这个……当使用CSS时,这是解决方案吗。ui-selectlistbox-item.ui-state-disabled{display:none;}