2016-03-24 15 views
1

私はPrimeFaces 4を使用しています。 p:ajaxStatusを使用したくないのは、少数のコンポーネントの読み込みのみを表示したいからです。 p:wizardコンポーネントのために、私は、ユーザーの変更タブが(次/バックボタンをクリックしたときのことを行うことができますかわからないPrimeFacesウィザード - タブ変更ajaxの読み込みにonstart/oncompleteを使用する方法

onstart="loading.show();" oncomplete="loading.hide();" 

しかし: は、だから私は、私は通常、これを行うことによって、AJAXイベント中に表示さp:blockUIコンポーネントを持っていますまたはタブのタイトルをクリックします)。私は、ウィザード内で以下のことを試してみました:

<p:wizard id="wizard" flowListener="#{myBean.onFlowProcess}" style="display: inline-block;" backLabel="Prev" nextLabel="Next" showNavBar="true" widgetVar="wizardWV"> 
    <p:ajax event="tabChange" onstart="loading.show();" oncomplete="loading.hide();" /> 
    <p:tab id="tab1" title="My tab 1"> 
     <p:panel> 
      <h:outputLabel value="test" /> 
     </p:panel> 
    </p:tab> 
    <p:tab id="tab2" title="My tab 2"> 
     <p:panel> 
      <h:outputLabel value="test2" /> 
     </p:panel> 
    </p:tab> 
</p:wizard> 

は、それから私は、エラーました:

<p:ajax> Unable to attach <p:ajax> to non-ClientBehaviorHolder parent 

を私はこれを達成できる方法はありますか?ウィザードは、クライアントの動作のコンテナではないためだ

おかげ

+0

コードを投稿できますか? p:ajaxが正しいコンテナ内にない可能性があります。つまり、ウィザード内ではタブビューではありません。 – VeenarM

+0

@VeenarM最新のコードを確認してください。あなたはtabViewで何を意味しますか? tabViewを使うべきですか?ありがとう! – qxlab

+0

p:wizardには、これらの2つの機能があります - onback、onnext p:wizard行で試してみてください - 私はwizardがajaxイベントtabChangeを持っているとは思わないが(tabViewの中にある)レンダーボックス全体が再構成されていると思う.hide()を使用する必要はありませんが、しばらくテストしていません。 P.S私はちょっと混乱しています、アフリカでは、ウィザードのタブは選択できません、バック/次のボタンだけですか? – VeenarM

答えて

0

です。

ウィザードの標準的な流れは、見出しのためだけのものです。ウィザードフローの[次へ]/[戻る]トリガを使用する必要があります。

を参照してください:あなたは、タブをクリック可能にするためにしようとしている場合はhttp://www.primefaces.org/showcase/ui/panel/wizard.xhtml はその後、それは別の話だ基本機能/フローを持っていますが、いくつかのより多くのリンク http://www.primefaces.org/docs/vdl/3.5/primefaces-p/wizard.html

、セットアップにあなたの流れが必要になりますリスナーに、次のものと同じメソッド/アクションをすべて選択させますが、パラメータをバッキングBeanに渡し、フローを手動で決定します。 PFでリモートコールをセットアップして、onclickをアタッチして、待機中の待ち時間の目的にアクセスできます。

私はユースケースのシナリオを見ていますが、おそらくWizardは間違ったコンポーネントですか?

提供されているコードを見ると、現在タブがクリックできなくなり、あなたの前後のアクションボタンが表示されません。

+0

助けてくれてありがとう!少なくともPF4では、タブはクリック可能で、デフォルトでは次/戻るボタンが追加されます。しかし、とにかく、私が達成しようとしているように見えません。たぶん私は 'p:tabView'に変更しなければならないかもしれません。 – qxlab

+0

はそれを読み込んで動作をテストする必要があります。あなたはページにjavascriptスクリプトを置くことができます。それは 'onload'でスピナー/ブロッカーを閉じます。そのため、Ajaxの再レンダリングによって実行されますか? – VeenarM

関連する問題