2013-06-26 5 views
0

Я хочу фильтруемое поле со списком. Когда я нажимаю на текст ввода, курсор появляется, поэтому я могу вставить в текст некоторые символы.Vaadin ComboBox: ясный текст ввода при нажатии

Поскольку ввод данных в поле ввода должен фильтровать элементы в выпадающем списке, предыдущий текст больше не нужен. Я хочу, чтобы ни к:

  1. ясно ввод текста
  2. выделить весь текст (так что, когда я начинаю печатать, то текст очищается) - в соответствии с http://dev.vaadin.com/ticket/7116 это не представляется возможным
+0

Я думаю, вам нужно будет продлить компонент, а событие «onfocus» задало значение null. –

+0

На самом деле, я могу сделать это без расширения с помощью addListener (new FocusListener() {..}) ', но проблема в том, как установить это значение в значение null ...' setValue (null) 'не работает – mirelon

+0

Вы установили Immediate в true? –

ответ

0

I испытайте это на текстовых полях vaadin, он должен работать и для комбо. Вы можете очистить текст на входе, фиксирующем событие фокусировки, как в комментариях, но вместо того, чтобы использовать нуль, используйте пустую строку «», изменение не будет видно, пока вы не вызовете запросRepaint на компоненте.

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

Однако для этой работы вы должны потерять фокус и получить его снова, играя с событием valueChange (переопределение, и т.д.) может быть лучше.