我目前的做法是
p:slideMenu
menuTrigger
显示菜单和所有进一步的单击(在第一次隐藏之后,例如通过单击
menuHideLabel
)导致菜单不显示:
<h:form id="mainForm">
<p:commandLink id="menuTrigger"
value="Open slide menu"
style="background: #{backingBean0.background};">
<p:ajax listener="#{backingBean0.listener0()}"
update="menuTrigger"/>
</p:commandLink>
<p:slideMenu id="slideMenu"
trigger="menuTrigger"
overlay="true"
triggerEvent="click"
my="left top"
at="left bottom"
style="width:180px;">
<p:menuitem id="menuItem1"
value="Menu item 1"/>
</p:slideMenu>
<p:outputLabel id="menuHideLabel"
value="Hide slide menu"/>
</h:form>
梅努特里格
单击:
@Named
@ViewScoped
public class BackingBean0 implements Serializable {
private static final long serialVersionUID = 1L;
private String background = "";
public void listener0() {
System.out.println("listener0");
background = "green";
}
public String getBackground() {
return background;
}
public void setBackground(String background) {
this.background = background;
}
}
https://gitlab.com/krichter/primefaces-open-slide-menu-with-selenium
带输出的再生产问题与Arquillian在
https://gitlab.com/krichter/primefaces-open-slide-menu-with-selenium/-/jobs/85986586
. 它不包含以上MCVE的更多信息,可用于促进当地对该问题的调查。
我用的是PrimeFaces6.2。