2

私は JSF と Primefaces で開発しており、現在のプロジェクトの 1 つで accordionPanel コンポーネントを使用しています。これは、私がそれをどのように使用しているかに関するスニペットコードです:

<p:accordionPanel id="historic" dynamic="true" 
                  styleClass="noborder" 
                  activeIndex="-1">

    <p:tab id="tab1" title="Historic 1" >
            <ui:include src="historic1.xhtml"/>
    </p:tab>

    <p:tab id="tab2" title="Historic 2">
            <ui:include src="historic2.xhtml"/>
    </p:tab>

    <p:tab id="tab3" title="Historic 3">
            <ui:include src="historic3.xhtml"/>
    </p:tab>

    <p:tab id="tab4" title="Historic 4">
            <ui:include src="historic4.xhtml" />
    </p:tab>

</p:accordionPanel>

すべてのタブには基本的に同じコードが含まれており、いくつかのデータが異なるデータセットを指しているフォームです。ご覧のとおり、非常にシンプルで、最後のタブを除いて適切に機能します。内容が何であれ、表示されることはありません。つまり、上記のコードの代わりに、これを別のものにすると:

<p:accordionPanel id="historic" dynamic="true" 
                  styleClass="noborder" 
                  activeIndex="-1">
    <p:tab id="tab1" title="Historic 1" >
            <ui:include src="historic1.xhtml"/>
    </p:tab>

    <p:tab id="tab2" title="Historic 2">
            <ui:include src="historic2.xhtml"/>
    </p:tab>

    <p:tab id="tab3" title="Historic 3">
            <ui:include src="historic3.xhtml"/>
    </p:tab>

    <p:tab id="tab4" title="Historic 4">
            <ui:include src="historic4.xhtml" />
    </p:tab>

    <p:tab id="tab5" title="Historic 5">
           Some plain test text.
    </p:tab>

</p:accordionPanel>

次に、tab4 が表示されるようになりましたが、tab5 は表示されません。私は現在、この最後のコードを使用していますが、空のタブのため、少し醜いです。あなたの誰かが同じまたは同様の問題に直面していて、私を助けることができますか? 私はそれを感謝します。

4

2 に答える 2

2

primefaces vdlから:http://www.primefaces.org/docs/vdl/3.4/primefaces-p/accordionPanel.html

activeIndex

マルチモードがオンの場合、アクティブなタブのインデックスまたはインデックスのコンマ区切り文字列。デフォルトはゼロです。

これを-1に設定する理由があるかもしれません。これを0または正の数に設定すると、提供した例はprimefaces3.4.2で機能します。

于 2012-12-29T13:09:59.167 に答える
0

accordionPanelインデックスはゼロベースのインデックスです。これは、最初のタブの場合は0、2番目のタブの場合は1というように続きます。これが、デフォルトでタブを開かないようにするために、インデックスとして「-1」を使用しようとした理由です。ただし、この値(-1)は、accordionPanelで誤動作を引き起こします。最後のタブが正しく開きません。したがって、-1が機能せず、0が最初のタブの値である場合、最後のタブの「上」の値はどうでしょうか。つまり、4つのタブ(0から3までのインデックス)がある場合は、4つで試してみましょう...それは機能します。とても簡単。これが同じ問題に直面している人に役立つことを願っています。とにかく、@ Aksel Willgertに感謝します、あなたは私に手がかりを与えました。

于 2012-12-30T15:43:48.253 に答える