如何<p:tab>
使用命令按钮切换到选项卡 ( )?
4 回答
还有一个客户端 api 方法称为 selectTab(index);
<p:commandButton type="button" onclick="widgetvar.selectTab(2)" value="Show" />
p:tabView
具有一个属性activeIndex
,即“活动选项卡的索引”(Primefaces 文档)。
您可以从您的操作方法设置此属性p:commandButton
:
<p:commandButton value="Switch tab" action=#{myBean.switchTab} />
在您的支持 bean 中定义一个操作方法 switchTab() 并让它设置一个 member activeTab
。
然后使用此成员设置您的活动标签
<p:tabView activeIndex=#{myBean.activeTab}>
如果您的服务器支持 EL 2.2,您可以使用操作方法调用设置活动选项卡的索引:
<p:commandButton value="Switch tab" action=#{myBean.switchTab(2)} />
然后您可以使用您的操作方法调用的参数直接设置活动索引。
我使用 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);
希望它有效:)
使用命令按钮以相同的形式切换 p:tab 在客户端,您只能使用 widgetVar 来选择/查看选项卡,如下所示:
注意:第一个选项卡的 tabIndex 将从 0 开始。
<p:commandButton type="button" onclick="PF('tabWidgetVar').select(1)" value="Next" />
在服务器端,您可以将整数变量与 p:tab 的 activeIndex 属性绑定,然后执行方法来设置索引。