1

私はMojarra-2.1.10でprimefacesPrimeFaces-3.4を使用していますが、ページ全体のレイアウトは次のようになっています。どうすれば上部にボタンを作成できますか?それは西のlayoutUnitを折りたたむでしょう?

手伝ってくれてありがとう。

PS、初期には次のようなものを書くことができると想定していました:

<layoutUnit position="west" widgetVar='westlayout'> ... </layoutUnit>

//button in the top
<button onlick="westlayout.collapse()"></button>

ただし、残念ながら、widgetVar属性はlayoutUnitに存在しません。

更新1:同様の質問を見つけて、試しました。私のために機能しませんでした、問題は、更新属性を持つボタンがそのような識別子を持つテキストを見つけることができないということでした、私は1つのlayoutUnitで試し、識別子を見つけましたが、あまり機能しませんでした。

4

2 に答える 2

5

Layout Client Side APIによると、layoutwidgetWarを介してlayoutUnitを切り替えることができます。

<p:layout fullPage="true" widgetVar="layoutWdgt">
    <p:layoutUnit position="north" size="100" header="Top" resizable="true" closable="true" collapsible="true">
        <h:form>
            <p:commandButton value="Toggle" onclick="layoutWdgt.toggle('west')"/>
        </h:form>
    </p:layoutUnit>

    ....

    <p:layoutUnit position="west" size="200" header="Left" resizable="true" closable="true" collapsible="true">
        <h:form>
            <h:outputText value="West Layout unit"/>
        </h:form>
    </p:layoutUnit>
    <p:layoutUnit position="center">
        <h:outputText value="Center Layout unit"/>
    </p:layoutUnit>
</p:layout>

編集済み

PrimeFaces 4以降、IDマッピングは引き続きサポートされますが、PF('XXX')を優先して非推奨になりました。

PrimeFaces 5.0以降の場合、クライアント側APIを呼び出すにはPFwidgetVarを使用する必要があります。したがって、layoutWdgt.toggle('west')を使用して西のレイアウト単位を切り替える代わりに、 PF('layoutWdgt')。toggle('west')を使用する必要があります。

于 2012-10-11T04:50:10.720 に答える
0

Primefaces 6.1の操作:

<p:layout style="min-width:400px;min-height:200px;" widgetVar="layoutWdgt">
    <p:layoutUnit position="west" size="100" minSize="40" maxSize="200" collapsible="true">
        West
         <p:commandButton value="Collapse" onclick="PF('layoutWdgt').toggle('west')"/>
    </p:layoutUnit>
    <p:layoutUnit position="center">
        Center
    </p:layoutUnit>
</p:layout>
于 2017-06-19T17:48:52.640 に答える