Vaadin ComboBox 不允许我点击
Vaadin ComboBox don't allow me to click
我在我的项目中使用 Vaadin ComboBox,现在我遇到了一个新问题,它不允许我在单击 ComboBox 或 DropDown 图标后打开 Combo 的列表!
我可以在 ComboBox 中键入内容,然后使用键盘上的箭头键可以打开 ComboBox 列表,但不能通过单击来打开。
我发现,当我将鼠标指针放在 ComboBox 顶部的特定区域时,指针将变为手形,然后我可以通过单击打开列表,但在这种情况下,我很少能集中鼠标那个区域的指针,它就像整个 ComboBox 上的一个小点。
我为此 ComboBox 使用的唯一代码是,已编辑:
public class ChildElement extends OgsAbstractForm<Child> {
@Inject
ChildFacade childFacade;
ComboBox cbChild=new ComboBox();
HorizontalLayout mainLayout=new MHorizontalLayout();
@Override
protected Component createContent() {
List<Child> children=new ArrayList<Child>();
children.addAll(childFacade.findAll());
for(int i=0;i<children.size();i++){
cbChild.addItem(children.get(i).getName());
}
cbChild.select(children.get(0).getName());
cbChild.setFilteringMode(FilteringMode.CONTAINS);
mainLayout.addComponent(cbChild);
return mainLayout;
}
}
然后我在如下视图中使用此元素,
public class OGSVertragView extends CssLayout implements View{
@Inject
ChildElement childElement;
VerticalLayout main=new VerticalLayout();
@PostConstruct
void init() {
main.addComponent(childElement);
addComponents(main);
}
}
如果有人能以某种方式给我线索或帮助我,那就太好了。
此致!
找我好像你的 ComboBox
不够 space。
尝试将 mainLayout
高度设置为 200-300 像素,并确保您的 VerticalLayout main
将足够的 space 分配给 `mainLayout。
也尝试添加:
cbChild.setImmediate(true);
+ Small tip about initializing variables
我在我的项目中使用 Vaadin ComboBox,现在我遇到了一个新问题,它不允许我在单击 ComboBox 或 DropDown 图标后打开 Combo 的列表! 我可以在 ComboBox 中键入内容,然后使用键盘上的箭头键可以打开 ComboBox 列表,但不能通过单击来打开。 我发现,当我将鼠标指针放在 ComboBox 顶部的特定区域时,指针将变为手形,然后我可以通过单击打开列表,但在这种情况下,我很少能集中鼠标那个区域的指针,它就像整个 ComboBox 上的一个小点。
我为此 ComboBox 使用的唯一代码是,已编辑:
public class ChildElement extends OgsAbstractForm<Child> {
@Inject
ChildFacade childFacade;
ComboBox cbChild=new ComboBox();
HorizontalLayout mainLayout=new MHorizontalLayout();
@Override
protected Component createContent() {
List<Child> children=new ArrayList<Child>();
children.addAll(childFacade.findAll());
for(int i=0;i<children.size();i++){
cbChild.addItem(children.get(i).getName());
}
cbChild.select(children.get(0).getName());
cbChild.setFilteringMode(FilteringMode.CONTAINS);
mainLayout.addComponent(cbChild);
return mainLayout;
}
}
然后我在如下视图中使用此元素,
public class OGSVertragView extends CssLayout implements View{
@Inject
ChildElement childElement;
VerticalLayout main=new VerticalLayout();
@PostConstruct
void init() {
main.addComponent(childElement);
addComponents(main);
}
}
如果有人能以某种方式给我线索或帮助我,那就太好了。
此致!
找我好像你的 ComboBox
不够 space。
尝试将 mainLayout
高度设置为 200-300 像素,并确保您的 VerticalLayout main
将足够的 space 分配给 `mainLayout。
也尝试添加:
cbChild.setImmediate(true);
+ Small tip about initializing variables