我有一个包含多个条件的页面,当我尝试打开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的值时进行更新。

07-28 09:18