subMenu上的展开属性未考虑在内

问题描述 投票:4回答:2

我有一个panelMenu,里面有一些子菜单,其扩展属性是在一个支持bean上控制的。问题是,不同子菜单的扩展状态似乎由浏览器缓存,具体取决于用户在该URL上的每个子菜单的先前状态,忽略设置为扩展的布尔状态。行为与p:panelMenu和p:menu相同。

您可以在PF项目上重现该问题,将以下代码添加到jsf页面。不需要支持bean。第一次加载页面时,中间的子菜单将显示为折叠。如果重新加载页面,在菜单上播放一下之后,不再考虑扩展属性,并且页面显示的方式响应用户在浏览器上的最后配置。

<h:form>
    <p:panelMenu toggleable="true">
        <p:submenu label="No expandido" expanded="false">
            <p:menuitem value="External" url="http://www.primefaces.org"/>
        </p:submenu>
        <p:submenu label="Expandido" expanded="true">
            <p:menuitem value="External" url="http://www.primefaces.org"/>
        </p:submenu>
        <p:submenu label="No expandido" expanded="false">
            <p:menuitem value="External" url="http://www.primefaces.org"/>
        </p:submenu>
    </p:panelMenu>
</h:form>

参加手册,这种行为不是预期的:

           expanded - false - Boolean - Defines the state of submenu.

......根据Cagatay在PF论坛上的帖子,panelMenu已经准备好使用扩展属性了。

问题是,有没有办法在panelMenu或菜单中设置扩展/不扩展subMenu元素的状态?

感谢您提出任何意见/建议/解决方法。

Primefaces 5.2 | Tomcat 7.0.X | Chrome + IE11

primefaces submenu
2个回答
2
投票

您是否尝试过设置panelMenu的有状态属性:

<p:panelMenu stateful="false">

这会禁止菜单缓存到cookie。


0
投票

我有类似的问题,原因是在f:viewAction内有多个f:metadata。将它们合并为一个,解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.