Как использовать (браузер) автозаполнение с Vaadin 10 TextField - PullRequest
0 голосов
/ 18 ноября 2018

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

Мой код выглядит так (сокращенно):

TextField name = new TextField();
Button save = new Button("submit");
save.addClickListener(event -> save());
name.setAutocomplete(Autocomplete.ON);
add(name);
add(save);

У меня были надежды, что Autocomplete.On делает магию для меня, но, похоже, не работает.Может быть, как метод сохранения работает испортить вещи?

метод довольно большой, я просто упростить его

private void save() {
  --save everything to db
  --remove all fields
  --replace the fields with text saying reservation done
}

1 Ответ

0 голосов
/ 09 декабря 2018

обнаружил, что кто-то создал проблему https://github.com/vaadin/vaadin-text-field/issues/156

кажется ограничением Shadow DOM

Связанные проблемы:

https://bugs.chromium.org/p/chromium/issues/detail?id=746593

https://bugs.webkit.org/show_bug.cgi?id=172567

Редактировать:

для автозаполнения моего логина. Я получил работу с добавлением

class xyz extends Div implements PageConfigurator{

...

@Override
public void configurePage(InitialPageSettings settings) {
    settings.addInlineWithContents(
    InitialPageSettings.Position.PREPEND,
    "window.customElements=window.customElements||{}; 
     window.customElements.forcePolyfill=true; 
     window.ShadyDOM={force:true};", 
     InitialPageSettings.WrapMode.JAVASCRIPT);
}
...