Я пытаюсь закодировать TexField, который запускает событие (поиск) при каждом нажатии клавиши.
Но у события должна быть опция противодействия, чтобы оно срабатывало только через заданное время без нажатия клавиши.
Я следую этому документу: https://vaadin.com/docs/v13/flow/creating-components/tutorial-component-events.html
Но мне сложно понять, как добавить @DebouceEvent к моему TextField ...
Событие:
@DomEvent(value = "input",
debounce = @DebounceSettings(
timeout = 250,
phases = DebouncePhase.TRAILING))
public class InputEvent extends ComponentEvent<TextField> {
private String value;
public InputEvent(TextField source, boolean fromClient,
@EventData("element.value") String value) {
super(source, fromClient);
this.value = value;
}
public String getValue() {
return value;
}
}
Текстовое поле:
TextField searchField= new TextField("my search");
Я пытался:
searchField.addInputListener(new InputEvent(searchField, true, "input"));
ошибка:
Error:(41, 38) java: incompatible types: nc.unc.importparcoursup.view.AdmisDetailView.InputEvent cannot be converted to com.vaadin.flow.component.ComponentEventListener<com.vaadin.flow.component.InputEvent>