我有一个包含多个条件的页面,当我尝试打开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>
我是否选择了正确的决策方式?如何摆脱抽搐名单?
最佳答案
这些抽搐的原因可能是无休止的循环。当显示您的p:selectCheckboxMenu
时,将调用远程命令,并更新p:selectCheckboxMenu
并再次显示它,然后再次调用远程命令...并且此操作永远不会结束。您正在更新onShow
中的组件很奇怪。您可能应该在更改更新条件时立即执行此操作,而不是在此位置更新组件。例如,如果此p:selectCheckboxMenu
依赖于某些p:selectOneMenu
,则在更改p:selectOneMenu
的值时进行更新。