我有一个p:tabMenu
它用于显示选项卡。如何使用p:tabMenu和Ajax
<p:tabMenu id="tabs" activeIndex="0" >
<p:menuitem value="tab1" url="/tab1.jsf" />
<p:menuitem value="tab2" url="/tab2.jsf" />
</p:tabMenu>
为了使标签更顺畅的装载(我不希望看到的标签闪烁)我可以采用某种使用Ajax?
我有一个p:tabMenu
它用于显示选项卡。如何使用p:tabMenu和Ajax
<p:tabMenu id="tabs" activeIndex="0" >
<p:menuitem value="tab1" url="/tab1.jsf" />
<p:menuitem value="tab2" url="/tab2.jsf" />
</p:tabMenu>
为了使标签更顺畅的装载(我不希望看到的标签闪烁)我可以采用某种使用Ajax?
在您的<p:tabMenu/>
上设置dynamic="true"
,自动触发ajax请求。在primefaces演示网站上非常明显。另请参阅primefaces demo。
编辑:更仔细地考虑你的问题,如果是平滑在你正在寻找的视觉效果,您应该在标签effect
参数设置为任何primefaces effects的。我个人最喜欢的是effect="slide"
缓存(cache=true
)选项卡的内容将使加载更加流畅。缓存是默认启用的。另外,如果你想在每一个标签的变化Ajax调用使用tabChange
事件:
<p:tabMenu id="tabs" activeIndex="0" dynamic="true">
<p:ajax event="tabChange" listener="#{tabBean.onTabChange}"/>
<p:menuitem value="tab1" url="/tab1.jsf" />
<p:menuitem value="tab2" url="/tab2.jsf" />
</p:tabMenu>
有关详细示例,请参见TabView - Change Listener演示。
如果加载的视觉方面是您更感兴趣的内容,只需将该选项卡的“效果”属性设置为任何受支持的pf效果即可。无论如何,Tabviews是默认的 – kolossus