1

我想要一个可过滤的组合框。当我单击输入文本时,会出现光标,因此我可以在文本中插入一些字符。

由于在输入框中键入应该过滤组合框中的项目,因此不再需要以前的文本。我想要:

  1. 清除输入文本
  2. 选择所有文本(所以当我开始输入时,文本被清除) - 根据http://dev.vaadin.com/ticket/7116这是不可能的
4

1 回答 1

0

我已经在 vaadin 文本字段上对此进行了测试,它也应该适用于组合。您可以清除捕获焦点事件的输入上的文本,如注释中所示,但不要使用 null,而是使用空字符串“”,直到您在组件上调用 requestRepaint 才能看到更改。

       input.addListener(new FieldEvents.FocusListener() {
            @Override
            public void focus(FocusEvent event) {
                input.setValue("");
                input.requestRepaint();
            }
        });

但是,要使其正常工作,您必须失去焦点并再次获得焦点,使用 valueChange 事件(覆盖等)可能会更好。

于 2014-04-25T16:37:34.680 回答