在p:tabmenu中隐藏p:menuItem

时间:2017-02-03 17:26:22

标签: primefaces tabmenu

我正在使用带有Maven和Primefaces的JavaEE,我想在Primfaces tabMenu中隐藏(HTML隐藏)一个menuitem。

this (prior) question中的答案会很好:

lines: lineId: 1,lineAbbreviation: "",workingListId: 4208,workingListType: 0,sortOrder: 0,holdType: 1,[tripSummary: - [- {columnId: 24,columnType: 1,value: "2.00"},- {columnId: 28,columnType: 5,value: "0.66"},- {columnId: 29,columnType: 6,value: "0.00"},- {columnId: 23,columnType: 0,value: "152.56"},- {columnId: 25,columnType: 2,value: "24"},- {columnId: 26,columnType: 3,value: "30"},- {columnId: 27,columnType: 4,value: "101.36"},- {columnId: 30,columnType: 7,value: "0.00"},- {columnId: 31,columnType: 8,value: "0.5"},- {columnId: 32,columnType: 9,value: "0"},- {columnId: 33,columnType: 10,value: "1"}]}]

只是另一个小提示: 添加样式类不起作用,不支持添加containerStyle:See primefaces github page

1 个答案:

答案 0 :(得分:2)

如果我删除了无效的":"

,您的代码可以隐藏它们
.ui-tabmenuitem {
    visibility: hidden !important;  
}

在PF 6.0和5.3上测试。

如果您想动态执行此操作,可以有条件地将styleClass添加到相关的menuitem;

<p:menuitem styleClass="#{bean.something ? 'ui-tabmenuitem-hidden' : ''}" value="Social">

并用一些脚本隐藏它:

<script>
    $('.ui-tabmenuitem-hidden').parent().css('visibility', 'hidden'); // or toggle()
</script>

使用纯css无法获得父级,这就是为什么需要脚本(据我所见)。使用检查员i Firebug或类似的人来确定需要什么。

要么只是将脚本放在页面中以便在加载时运行,要么将它放在按钮(或其他地方)的onclick-listener中。