如何使用命令按钮切换到选项卡(<p:tab>
)?
答案 0 :(得分:7)
还有一个名为selectTab(index)的客户端api方法;
<p:commandButton type="button" onclick="widgetvar.selectTab(2)" value="Show" />
答案 1 :(得分:2)
p:tabView
的属性activeIndex
是“活动标签的索引”(Primefaces文档)。
您可以使用p:commandButton
的操作方法设置此属性:
<p:commandButton value="Switch tab" action=#{myBean.switchTab} />
在您的支持bean中定义一个操作方法switchTab(),并让它设置一个成员activeTab
。
然后使用此成员设置您的活动标签
<p:tabView activeIndex=#{myBean.activeTab}>
如果您的服务器支持EL 2.2,您可以使用操作方法调用设置活动选项卡的索引:
<p:commandButton value="Switch tab" action=#{myBean.switchTab(2)} />
然后,您可以使用action方法调用的参数直接设置活动索引。
答案 2 :(得分:1)
我使用的是Primefaces 5.1,我所做的是在ManagedBean中绑定我的tabView并在那里设置activeIndex
在你的JSF中
<h:form prependId="false" id="form">
<p:tabView id="tabPanel" widgetVar="tabPanel" binding="#{managedBean.tabView}" dynamic="true">
<p:tab title="tab" >
<p:commandButton action="#{managedBean.getBla}"
icon="ui-icon-search" update=":form:tabPanel" immediate="true" >
...
在您的ManagedBean中
private TabView tabView;
public TabView getTabView() {
return tabView;
}
public void setTabView(TabView tabView) {
this.tabView = tabView;
}
然后在你调用commandButton动作的方法中,你只需要做一个
tabView.setActiveIndex(1);
希望它有效:)
答案 3 :(得分:0)
使用命令按钮以相同的形式切换p:选项卡 在客户端,您只能使用widgetVar选择/查看选项卡,如下所示:
注意:tabIndex将从第一个标签的0开始。
<p:commandButton type="button" onclick="PF('tabWidgetVar').select(1)" value="Next" />
在服务器端,您可以将整数变量与p:tab的activeIndex属性绑定,然后使用excute方法设置索引。