1

いくつかの条件を持つページがあり、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>

私は決定のために正しい方法を選択しましたか? けいれんリストを取り除く方法は?

4

1 に答える 1

0

おそらくそれらのけいれんの理由は無限ループです。表示されると、p:selectCheckboxMenuリモートコマンドが呼び出され、p:selectCheckboxMenu更新されて再度表示され、リモートコマンドが再度呼び出されます...そしてこれは決して終了しません。でコンポーネントを更新しているのはおかしいですonShow。おそらく、更新の条件が変更された瞬間にこれを行う必要があります。これは、コンポーネントを更新する必要がある場所ではありません。これp:selectCheckboxMenuが、たとえばp:selectOneMenu、の値が変更されたときに更新に依存している場合p:selectOneMenu

于 2013-02-19T09:53:08.673 に答える