【问题标题】:tabClose method is not called for the first tab from tabview primefaces不会为 tabview primefaces 中的第一个选项卡调用 tabClos​​e 方法
【发布时间】:2016-03-30 13:40:19
【问题描述】:

我使用 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>

有人知道是什么原因吗?

【问题讨论】:

标签: jsf events primefaces tabs


【解决方案1】:

通过在 tabView 中添加 dynamic="true" 解决了上述问题。但之后又出现了一个障碍,当切换标签页时,所有的标签页都消失了。通过添加 cache="false"

解决了这个问题

【讨论】:

    猜你喜欢
    • 2013-10-19
    • 2015-10-18
    • 2013-04-17
    • 1970-01-01
    • 2017-03-14
    • 2014-12-30
    • 2013-05-18
    • 2018-12-30
    • 2014-11-02
    相关资源
    最近更新 更多