【问题标题】:Primefaces 3.5 selectCheckBoxMenu call event onShowPrimefaces 3.5 selectCheckBoxMenu 调用事件 onShow
【发布时间】:2013-02-19 09:38:34
【问题描述】:

我有一个包含多个条件的页面,当我尝试打开 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>

我是否选择了正确的决策方式?如何摆脱抽动列表?

【问题讨论】:

    标签: java jsf jsf-2 primefaces


    【解决方案1】:

    这些抽搐的可能原因是无限循环。当您的p:selectCheckboxMenu 显示远程命令被调用,p:selectCheckboxMenu 被更新并再次显示并再次调用远程命令......这永远不会结束。奇怪的是您正在更新onShow 中的组件。您可能应该在更新条件发生更改时执行此操作,这不是您应该更新组件的地方。例如,如果此 p:selectCheckboxMenu 依赖于某些 p:selectOneMenu,则在更改 p:selectOneMenu 的值时更新它。

    【讨论】:

    • 我没有 selectItem,当我用默认值打开页面而不更改依赖于 selectCheckBox 的默认值时,我应该获取数据集。
    • 我添加了这个只是作为示例。如果您正在更新p:selectCheckboxMenu,这意味着您正在更改远程命令方法中的某些内容。否则你为什么要更新它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 2014-11-10
    • 2017-01-21
    • 2016-03-09
    • 2010-11-28
    相关资源
    最近更新 更多