单击菜单后,从p:tieredMenu隐藏菜单项

时间:2019-12-10 11:14:50

标签: jsf primefaces menu

我有以下

<p:commandButton  id="menuButton"  value="ADD"  type="button" />
<p:tieredMenu overlay="true" trigger="menuButton" my="left top" at="left bottom" style="width:150px">
    <p:menuitem id="addProspectLink">
        <p:commandLink action="#{myController.oneAction}" value="Menu One" immediate="true" process="@this">
            <f:param name="id" value="#{myController.idValue}" />
        </p:commandLink>
    </p:menuitem>
    <p:menuitem id="searchProspectLink">
        <p:commandLink action="#{myController.twoAction}"  value="Menu Two" immediate="true" process="@this">
            <f:param name="id" value="#{myController.idValue}" />
        </p:commandLink>
</p:menuitem>

这与我想要的方式一样好,除了单击菜单后不隐藏菜单。

有人可以帮助我在单击链接后隐藏链接吗?

环境:JSF 2.2,PrimeFaces 6.2和Java 1.7

1 个答案:

答案 0 :(得分:2)

p:tieredMenu有一些client side api,只需使用hide()方法:

<h:form id="myForm">
    <p:commandButton id="menuButton" value="ADD" type="button" />
    <p:tieredMenu widgetVar="myMenu" overlay="true" trigger="menuButton"
        my="left top" at="left bottom">
        <p:menuitem id="a">
            <p:commandLink value="Reinstate Monica" process="@this"
                immediate="true" action="#{myBean.doSomething()}" onstart="PF('myMenu').hide();"/>
        </p:menuitem>
    </p:tieredMenu>
</h:form>

不是我已经添加了p:tieredMenu widgetVar="myMenu"p:commandLink onstart="PF('myMenu').hide();"