デフォルトでは、primefacesアコーディオンパネルの最初のタブはページの読み込み時に開いた状態で表示されます。ページの読み込み時に閉じる方法はありますか?
ありがとう
デフォルトでは、primefacesアコーディオンパネルの最初のタブはページの読み込み時に開いた状態で表示されます。ページの読み込み時に閉じる方法はありますか?
ありがとう
あなたはただすることができます
<p:accordionPanel activeIndex="-1">
activeIndexを空白に設定すると機能します(Primefaces3.4.1)。
<p:accordionPanel activeIndex="">
1つのアプローチは、widgetVarを定義することです。
<p:accordionPanel widgetVar="accordion">
...
</p:accordionPanel>
その後:
<body onload="PF('accordion').unselect(0)">
または古いPFバージョンの場合:
<body onload="accordion.unselect(0)">
PrimeFaces 3.5.xでは、投稿された回答はどれも機能しませんでした。マルチモードを使用しますが、これは:
<p:accordionPanel multiple="true" activeIndex="null" ... >
以下のコードのように、PF関数を使用してこれを行うことができます。
PF('accordionWidgetVarName').unselect(0);
PrimeFaces 6.0ユーザーへの回答:
widgetVarプロパティを設定してから、PF('widgetVarValue')。unselect(0);を呼び出すことができます。フレッドポリカルポが述べたように; ただし、アコーディオンの読み込み時にこれを機能させることができなかったため、divのonloadイベントの使用、autoRunを有効にしたremoteCommandの使用、カスタムjQueryの使用などさまざまなことを試しました。これらはいずれも、コンソールでPF unselect呼び出しを実行した場合にのみ、loadイベントに対して機能しませんでした。
PrimeFaces 6.0では、activeIndex属性を使用し、それを複数の値(たとえば、「1,3,5」)に設定して、すべてのタブを閉じ、2番目、4番目、および6番目のタブ(ベース0のインデックス付け)を開くことができます。