tabview方法未从tabview primefaces的第一个选项卡调用

时间:2016-03-30 13:40:19

标签: jsf events primefaces tabs

我使用primefaces版本5.3和jsf版本2.2.6。

我为tabview实现了tabClos​​e ajax事件,但问题是对于第一个选项卡,没有触发tabClos​​e事件并且没有调用方法remove,对于所有其他选项卡,它是并且它可以工作我无法理解为什么。 此外,如果我尝试关闭第一个标签,则所有标签都会关闭。

代码如下所示:

<p:tabView id="tabs" activeIndex="#{mainPage.index}">
        <p:ajax event="tabClose" listener="#{mainPage.remove}" update="formTabs" />
        <p:ajax event="tabChange" listener="#{mainPage.changeTab}" update="formTabs" />

        <c:forEach items="#{mainPage.tabs}" var="tab" varStatus="loop">
            <p:tab title="#{tab.title}" closable="true">
                <f:subview id="tab#{loop.index}">
                <ui:debug />
                    <ui:include src="#{tab.url}">
                        <ui:param name="focusedTab" value="#{tab.id}" />
                    </ui:include>
                </f:subview>
            </p:tab>
        </c:forEach>
    </p:tabView>

有人知道原因是什么吗?

1 个答案:

答案 0 :(得分:0)

通过在tabView中添加d​​ynamic =“true”解决了上述问题。但在此之后它出现了另一个障碍,当制表机之间切换时,所有标签都消失了。这是通过添加cache =“false”

来解决的