Combobox Vaadin组合框:单击即可清除输入文本
我想要一个可过滤的组合框。当我点击输入文本时,光标就会出现,这样我就可以在文本中插入一些字符 由于在输入框中键入内容是为了过滤组合框中的项目,因此不再需要前面的文本。我想:Combobox Vaadin组合框:单击即可清除输入文本,combobox,vaadin,Combobox,Vaadin,我想要一个可过滤的组合框。当我点击输入文本时,光标就会出现,这样我就可以在文本中插入一些字符 由于在输入框中键入内容是为了过滤组合框中的项目,因此不再需要前面的文本。我想: 清除输入文本 选择所有文本(因此当我开始键入时 文本已清除)-根据这一点,这是不可能的 我已经在vaadin textfields上测试过了,它应该也适用于combos。 您可以清除捕获焦点事件的输入上的文本,如注释中的文本,但不要使用null,而是使用空字符串“”,只有在调用组件上的requestRepaint后才能看到更
我已经在vaadin textfields上测试过了,它应该也适用于combos。 您可以清除捕获焦点事件的输入上的文本,如注释中的文本,但不要使用null,而是使用空字符串“”,只有在调用组件上的requestRepaint后才能看到更改
input.addListener(new FieldEvents.FocusListener() {
@Override
public void focus(FocusEvent event) {
input.setValue("");
input.requestRepaint();
}
});
但是,要使其工作,您必须失去焦点并再次获得它,使用valueChange事件(覆盖等)可能会更好。我认为您必须扩展该组件,并且“onfocus”事件将值设置为null。实际上,我可以在不使用
addListener(new FocusListener(){..})
扩展的情况下做到这一点,但问题是,如何将该值设置为nullsetValue(null)
不起作用您是否已将Immediate设置为true?是的,我调用。setImmediate(true)
。但是.setImmediate(false)
没有帮助。组合框没有requestReoaint()
。那么,组合框是如何实现的呢?