Динамические символы TabView, атрибут отображения вкладки не работает

у меня "проблема" с компонентом вкладок для tabView от Primefaces. Я сделал tabView с динамическими вкладками на основе массива.

Но некоторые вкладки не могут быть отображены на основе логического атрибута объекта из этого массива.

Я пробовал rendered="true" или "false", но ничего не происходит (на вкладке). Я использую rendered="#{_item.show}" Я пытался использовать отключенную функцию и отлично работает, но мне это не нужно.

У кого-то есть идея, как решить эту проблему?

проверьте мой код:

<p:tabView id="tabs" value="#{myBean.list}" var="_item"  orientation="left" style="height:800px!important;" >

        <p:tab title="#{_item}" rendered="#{_item.show}" >

person Cesário Lange    schedule 23.09.2015    source источник
comment
ну это странно. что произошло для меня, так это то, что элемент вкладки все еще отображается, но его соответствующее содержимое не было. пахнет жуком для меня.   -  person Fritz    schedule 24.09.2015
comment
у меня тоже сработал CSS-трюк от Geinmachi   -  person Cesário Lange    schedule 28.09.2015


Ответы (1)


Добавьте атрибут disabled к вашему <p:tab> и используйте этот стиль для скрытия вкладки:

<style>
    #tabs li.ui-state-disabled {
        display: none;
    }
</style>

Значение после # — это ваш <p:tabView> clientId, поэтому, если он находится в контейнере имен, таком как <h:form id="myForm">, просто измените селектор на #myForm\:tabs.

rendered="false" работает, но не отображает содержимое вкладки, а не саму вкладку.

person Geinmachi    schedule 23.09.2015
comment
Я сделал это и работал хорошо... Используйте css, чтобы решить, это был мой последний вариант. Но спасибо за помощь - person Cesário Lange; 28.09.2015