我在我的应用程序中使用菜单栏组件,我想添加一个"mini"表单中的菜单。在"接触"中菜单中,用户可以用电话号码填充TextField,然后点击提交按钮进行呼叫。我的问题是当我选择TextField时,菜单会自动关闭。你知道这样做是否可行,我该怎么做吗?谢谢你。
这是我的菜单的一个例子
public class HeaderView extends MenuBar implements RouterLayout {
private final MenuItem tools;
private final MenuItem contacts;
public HeaderView() {
// logo
final Image img = new Image("img/logo.png", "image");
img.setHeight("44px");
this.addItem(img);
// TOOLS
tools = this.addItem("Tools");
tools.addComponentAsFirst(new Icon(VaadinIcon.TOOLS));
// CONTACTS
contacts = this.addItem("Contacts");
contacts.addComponentAsFirst(new Icon(VaadinIcon.PHONE));
// layout for the form contact
final FormLayout nameLayout = new FormLayout();
final TextField phoneField = new TextField();
phoneField.setLabel("Phone");
phoneField.setPlaceholder("Phone");
final Button sendButton = new Button("send");
// add textfield and button to the layout
nameLayout.add(phoneField, sendButton);
// add the form to the menubar
contacts.getSubMenu().addItem(nameLayout);
}
您可以尝试将contacts.getSubMenu().addItem(nameLayout)
更改为contacts.getSubMenu().add(nameLayout)
,我不确定您是否可以在提交后自触发子菜单关闭。