Primefaces p:选择复选框菜单惰性初始化

Primefaces p:选择复选框菜单惰性初始化,primefaces,lazy-loading,checkboxlist,Primefaces,Lazy Loading,Checkboxlist,我在p:selectCheckboxMenu中找不到lazy属性,因此我考虑在单击ui-selectCheckboxMenu-trigger组件时触发一个事件。它是带有箭头的按钮,类似于组合框中的箭头: 这就是我试图做的: <p:selectCheckboxMenu label="Channel" id="channels" value="#{managedBean.selectedChannels}"> <f:selectItems id="channelItems

我在
p:selectCheckboxMenu
中找不到
lazy
属性,因此我考虑在单击
ui-selectCheckboxMenu-trigger
组件时触发一个事件。它是带有箭头的按钮,类似于组合框中的箭头:

这就是我试图做的:

<p:selectCheckboxMenu label="Channel" id="channels" value="#{managedBean.selectedChannels}">
    <f:selectItems id="channelItems" value="#{managedBean.channels}" var="obj" itemLabel="#{obj.category}" itemValue="#{obj}" />
    <p:ajax event="toggleSelect" listener="#{managedBean.initChannels}" update="channelItems" />
</p:selectCheckboxMenu>`

`

已调试并发现未调用
initChannels
方法。

正确,因为没有可选择的内容,所以无法触发toggleSelect。但用于选择选项的是
change
事件,但更新后下拉列表将关闭。您不希望每次打开下拉列表时都调用initChannels。我已经在填充集合之前检查集合是否为null。是,切换选择在何时触发?(根据):切换所有selecbox更改时