我的Vaadin 8代码中有一个ComboBox
。
allAtts
是Set
-s的Attendant
,其中的字段theAtt
的类型为String
:
private ComboBox<Attendant> theCB = new ComboBox<Attendant>(null,allAtts);
theCB.setEmptySelectionAllowed(false);
Binder<SearchArgs> binder = new Binder<SearchArgs>(SearchArgs.class);
binder.setBean(sas);
binder.forField(theCB).bind("theAtt");
..
VerticalLayout vl = new VerticalLayout(theCB, rb, deleteBtn);
更重要的是-theCB
的确切流程是我写过的另一个类的复制粘贴,该类具有相同的类型Attendant
。
这里的问题是theCB
的下拉单击不起作用。也就是说,单击ComboBox上的小V形向下图标不会产生任何效果。这可能是什么!?
我尝试删除rb, deleteBtn
中的其他项目vl
。还是没用。
theCB
的其他任何地方都没有发生。
TIA。
编辑:
theCB
可以正常运行。允许在字段中键入内容,带来选择并准确返回选择。
EDIT-2 https://github.com/vaadin/vaadin-combo-box/issues/680不是问题。当我将非null标签值传递给构造函数时,没有任何变化。此外,在代码的其他位置使用null标签也可以正常工作。
EDIT-3
话务员包含几个字段,其中之一是字符串att
。
SearchArgs
在其字段Attendant
中组成theAtt
。 Attendant.toString()
仅返回att
。
再次-这种完全相同的逻辑在我在代码的另一部分中输入时起作用。
还请注意:自此我也尝试了以下操作,但均未成功:
在单独的活页夹上绑定theCB
,即在sas
上声明第二个活页夹,并使用该第二个活页夹绑定theCB
克隆作为数据提供者进入Attendant
的{{1}}对象。