如何保持/保持< p:panelMenu>的折叠和展开状态即使刷新页面后? [英] How to retain/maintain collapse and expand states of <p:panelMenu> even after a page refresh?

查看:128
本文介绍了如何保持/保持< p:panelMenu>的折叠和展开状态即使刷新页面后?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有以下简单的<p:panelMenu>.

<p:panelMenu style="width:200px">
    <p:submenu label="Contents">
        <p:menuitem value="MenuItem1" url="SomeURL" icon="ui-icon-disk" />
        <p:menuitem value="MenuItem2" url="SomeURL" icon="ui-icon-disk" />
        <p:menuitem value="MenuItem3" url="SomeURL" icon="ui-icon-disk" />
    </p:submenu>

    <p:separator />

    <p:submenu label="Users">
        <p:menuitem value="MenuItem1" url="SomeURL" icon="ui-icon-disk" />
        <p:menuitem value="MenuItem2" url="SomeURL" icon="ui-icon-disk" />
        <p:menuitem value="MenuItem3" url="SomeURL" icon="ui-icon-disk" />
    </p:submenu>                
</p:panelMenu>

子菜单一旦展开,就应保持展开状态,直到刷新页面后将其明确折叠为止.

Once a sub menu is expanded should remain expanded until it is explicitly collapsed even after a page refresh.

类似地,在某个时间之后,如果子菜单已折叠,则即使在重新加载/刷新页面后,子菜单也应保持折叠状态,直到显式展开为止.这可能吗?

Similarly, sometime later, if the sub menu is collapsed should remain collapsed until it is explicitly expanded even after the page reloaded/refreshed. Is this possible?

顺便说一下,以下脚本默认情况下扩展了<p:panelMenu>(全部为<p:submenu>).

By the way, the following script expands a <p:panelMenu> by default (all <p:submenu>).

$(document).ready(function(){
    $(".ui-panelmenu-content").css("display","block");
    $(".ui-panelmenu-header").addClass("ui-state-active");
    $(".ui-icon-triangle-1-e").removeClass("ui-icon-triangle-1-e").addClass("ui-icon-triangle-1-s");
});

如果折叠,以下脚本将展开<p:panelMenu>的第一个子菜单.

And the following script expands the first sub menu of <p:panelMenu>, if it is collapsed.

var isMenuExpanded = jQuery('div.ui-panelmenu-content.ui-widget-content.ui-helper-hidden').is(':visible');

if(!isMenuExpanded)
{
    jQuery('.ui-panelmenu-panel a').first().click();
}

推荐答案

<p:panelMenu stateful="false"></p:panelMenu>

stateful属性默认为true.如果要手动控制折叠/展开状态,则应将其设置为false,然后可以在子菜单元素上使用expanded属性.

stateful attruibute default is true. If you want to control collapsed/expanded states by hand, you should set it false, then you can use expanded attribute on submenu elements.

这篇关于如何保持/保持&lt; p:panelMenu&gt;的折叠和展开状态即使刷新页面后?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆