我有一个 panelMenu,其中有一些子菜单,其扩展属性由支持 bean 控制。问题是,不同子菜单的展开状态似乎由浏览器缓存,具体取决于用户上次访问该 URL 时每个子菜单的先前状态,忽略设置为展开的布尔状态。 p:panelMenu 和 p:menu 的行为相同。
您可以在 PF 项目上重现该问题,将以下代码添加到 jsf 页面。无需支持豆。第一次加载页面时,中间的子菜单将显示为折叠状态。如果重新加载页面,在菜单上玩一会儿后,将不再考虑扩展属性,并且页面的显示方式将响应用户在浏览器上的最后配置。
<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 或菜单内子菜单元素的展开/未展开状态?
感谢您的任何评论/建议/解决方法。
Primefaces 5.2 |汤姆猫 7.0.X |铬+IE11
您是否尝试过设置 panelMenu 的有状态属性:
<p:panelMenu stateful="false">
这会禁止菜单缓存到 cookie。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)