我想要一个可过滤的组合框。当我单击输入文本时,会出现光标,因此我可以在文本中插入一些字符。
由于在输入框中键入应该过滤组合框中的项目,因此不再需要以前的文本。我想要:
- 清除输入文本
- 选择所有文本(所以当我开始输入时,文本被清除) - 根据http://dev.vaadin.com/ticket/7116这是不可能的
我想要一个可过滤的组合框。当我单击输入文本时,会出现光标,因此我可以在文本中插入一些字符。
由于在输入框中键入应该过滤组合框中的项目,因此不再需要以前的文本。我想要:
我已经在 vaadin 文本字段上对此进行了测试,它也应该适用于组合。您可以清除捕获焦点事件的输入上的文本,如注释中所示,但不要使用 null,而是使用空字符串“”,直到您在组件上调用 requestRepaint 才能看到更改。
input.addListener(new FieldEvents.FocusListener() {
@Override
public void focus(FocusEvent event) {
input.setValue("");
input.requestRepaint();
}
});
但是,要使其正常工作,您必须失去焦点并再次获得焦点,使用 valueChange 事件(覆盖等)可能会更好。