我对p:tab
有疑问。我搜索了很多,但没有发现这个问题。
我需要根据tab
值的选择在tabView
内显示/隐藏selectOneMenu
。所以,我使用了ajax,但问题是当我更改selectOneMenu
的值时,所有表单输入都会重置并且值会丢失。
<p:tab id="informationTab">
<h:outputLabel for="situationFamiliale" value="Situation familiale: *" />
<p:selectOneMenu id="situationFamiliale" value="#{bean.entity.attribut}" >
<f:selectItem itemLabel="Celibataire" itemValue="Celibataire" />
<f:selectItem itemLabel="Marie(e)" itemValue="Marie(e)" />
<f:ajax event="change" render="@form" />
</p:selectOneMenu>
</p:tab>
<p:tab id="id" rendered="#{bean.entity.attribut== 'Marie(e)'}" title="Information Menage">
</p:tab>
答案 0 :(得分:0)
如果您使用不<f:ajax
的{{1}},则execute=
的默认设置为&#39; @ this&#39;。因此,只有SelectOneMenu的值被发送到服务器。由于execute
,整个表单将被重新呈现,所有其他更改都将丢失。
您应该使用render="@form"
。问题是,如果要显示/删除选项卡,则必须重新呈现整个tabview。您无法使用呈现的attribut重新渲染单个标签。