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

Hide menu item from p:tieredMenu after the menu is clicked

我有以下

    <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>
</p:tieredMenu>

这按照我想要的方式工作正常,只是菜单在单击后不会隐藏。

如何修改它以在单击后隐藏 link?

环境:JSF 2.2、PrimeFaces 6.2 和 Java1.7

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();"