延迟加载f:selectItems打开p:selectOneMenu

Mat*_*ock 5 jsf lazy-loading selectonemenu primefaces

我想<f:selectItems>只在用户打开时加载列表<p:selectOneMenu>.

我试过这种方式,但不起作用:

<p:selectOneMenu id="bases" value="#{sucesoBB.suceso.base}" converter="EntitiesCachedConverter"  >
    <f:selectItem itemLabel="" itemValue="" />
    <f:selectItems value="#{sucesoBB.bases}" var="base" itemValue="#{base}" itemLabel="#{base.id} - #{base.descripcion}"  />
    <p:ajax event="click" onstart="#{sucesoBB.bases == null or sucesoBB.bases.size() ==1 or sucesoBB.bases.empty()?'cargaBases();':''}" />
</p:selectOneMenu>
<p:remoteCommand name="cargaBases" update="bases" actionListener="#{sucesoBB.cargaBases}" />
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Max*_*Max 2

selectOneMenu 组件最近添加了“动态”属性。

只需像这样添加:<p:selectOneMenu dynamic="true" ... >

https://github.com/primefaces/primefaces/issues/2399

演示: https: //www.primefaces.org/showcase/ui/input/oneMenu.xhtml

您至少需要有 Primefaces 版本 6.0.20、6.1.2 或 6.2