gpt4 book ai didi

Primefaces 有条件扩展 LayoutUnit

转载 作者:行者123 更新时间:2023-12-02 07:14:11 25 4
gpt4 key购买 nike

我正在使用 primefaces 布局组件,并且有一个中心和一个右侧的布局单元。我希望在中心布局中有一个链接/按钮,它可以展开右侧的布局单元,因为当我第一次加载页面时,我将右侧的布局默认为折叠状态。我在右侧的布局单元上使用 bool 表达式,并从我的链接中更新它。一切正常,除了正确的布局单元没有从我的链接中更新。如果我刷新页面,右侧的布局单元就会展开。

页面:

    <h:form prependId="false"> 
<p:layout fullPage="true">
<p:layoutUnit id="right" position="right" width="350" header="Marker Details" resizable="true" closable="true" collapsible="true" collapsed="#{mapBean.rightCollapsed}">
<h:outputText value="#{mapBean.text}" />
</p:layoutUnit>
<p:layoutUnit position="center">
<p:commandLink actionListener="#{mapBean.showDetail}" update="right" value="Expand Right Layout"/>
</p:layoutUnit>
</p:layout>
</h:form>

bean :

public class MapBean implements Serializable {
private boolean rightCollapsed=true;
public void showDetail(ActionEvent e){
rightCollapsed=false;
}
//getter/setter for rightCollapsed

最佳答案

请参阅以下有关使用 <p:layout> 的论坛帖子组件具有 fullPage=true属性。

http://primefaces.prime.com.tr/forum/viewtopic.php?f=3&t=4766

你不能用这样的形式包装布局组件,每个 <p:layoutUnit>需要它自己的嵌套形式。您仍然可以update正如另一个答案所建议的那样,通过设置表单 id 并正确引用组件 id 来获取其他表单的组件。尝试这样的事情:

<p:layout fullPage="true">  
<p:layoutUnit id="right" position="right" width="350" header="Marker Details" resizable="true" closable="true" collapsible="true" collapsed="#{mapBean.rightCollapsed}">
<h:form id="rightForm" prependId="false">
<h:outputText id="mapBeanTextOutputText" value="#{mapBean.text}" />
</h:form>
</p:layoutUnit>
<p:layoutUnit position="center">
<h:form id="centerForm" prependId="false">
<p:commandLink actionListener="#{mapBean.showDetail}" update="mapBeanTextOutputText" value="Expand Right Layout"/>
</h:form>
</p:layoutUnit>
</p:layout>

关于Primefaces 有条件扩展 LayoutUnit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6398998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com