我有一个包含几个条件的页面,当我尝试打开selectCheckBoxMenu时,我希望从服务器调用该方法但我得到一些奇怪的东西。我的项目列表不会一直显示和抽搐。
<p:selectCheckboxMenu id="scroll"
value="#{adminManageTournamentController.teamListSelected}"
label="#{msg.teams}" filter="true" filterText="Filter"
filterMatchMode="startsWith" panelStyle="width:auto"
onShow="sourceFilterCommand();">
<f:selectItems value="#{adminManageTournamentController.teamList}"
var="team" itemLabel="#{team.name}"
itemValue="#{team.id}"/>
<p:column>
#{team.name}
</p:column>
<p:remoteCommand name="sourceFilterCommand" update="scroll"
actionListener="#{adminManageTournamentController.selectTeamsByConditions}"/>
</p:selectCheckboxMenu>
我选择了正确的决定方式吗?如何摆脱抽搐名单?
答案 0 :(得分:0)
这些抽搐的原因可能是无限循环。当显示p:selectCheckboxMenu
时,会调用远程命令,并且p:selectCheckboxMenu
会更新并再次显示,并再次调用远程命令......这永远不会结束。您正在更新onShow
中的组件,这很奇怪。当更新条件发生变化时,您可能应该这样做,这不是您应该更新组件的地方。如果此p:selectCheckboxMenu
例如依赖于某些p:selectOneMenu
,则会在p:selectOneMenu
的值更改时对其进行更新。