12

デフォルトでは、primefacesアコーディオンパネルの最初のタブはページの読み込み時に開いた状態で表示されます。ページの読み込み時に閉じる方法はありますか?

ありがとう

4

6 に答える 6

20

あなたはただすることができます

<p:accordionPanel activeIndex="-1">
于 2012-04-24T16:14:54.163 に答える
7

activeIndexを空白に設定すると機能します(Primefaces3.4.1)。

<p:accordionPanel activeIndex="">
于 2013-01-24T10:31:32.903 に答える
7

1つのアプローチは、widgetVarを定義することです。

<p:accordionPanel widgetVar="accordion">
    ...
</p:accordionPanel>

その後:

<body onload="PF('accordion').unselect(0)">

または古いPFバージョンの場合:

<body onload="accordion.unselect(0)">
于 2012-04-17T10:23:58.703 に答える
2

PrimeFaces 3.5.xでは、投稿された回答はどれも機能しませんでした。マルチモードを使用しますが、これは:

<p:accordionPanel multiple="true" activeIndex="null" ... >
于 2013-07-16T16:56:03.727 に答える
1

以下のコードのように、PF関数を使用してこれを行うことができます。

PF('accordionWidgetVarName').unselect(0);
于 2016-04-20T18:38:55.003 に答える
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のインデックス付け)を開くことができます。

于 2017-01-31T14:50:15.913 に答える