Как я могу сериализовать и десериализовать компоненты в Vaadin Flow 14? - PullRequest
1 голос
/ 02 марта 2020

Допустим, у меня есть несколько текстовых полей, текстовых полей, кнопок с именами и флажков и т. Д. c.

Когда я нажимаю кнопку сохранения, я хочу сохранить все эти компоненты. Я написал класс, который выберет интересующее значение из этих компонентов. Но проблема в том, что для этого станет слишком много кода.

Это должен быть более простой способ просто сохранить данные из компонентов в файл?

1 Ответ

4 голосов
/ 03 марта 2020

Если ваши данные представлены в виде бизнес-объектов (JavaBeans), то легче достичь своей цели с помощью класса Baadin Binder (который имеет и другие побочные преимущества, такие как облегчение проверки и преобразования компонентов). В простейшей форме это может выглядеть примерно так:

Binder<Person> binder = new Binder<>(Person.class);
TextField text= new TextField();
binder.bind(text, Person::getName, Person::setName);

Person person = new Person("First Last");
//Then you can set this person bean to be automatically in sync
//with the the TextField like so
binder.setBean(person);

В документации Vaadin есть еще много примеров и расширенных вариантов использования: https://vaadin.com/docs/v14/flow/binding-data/tutorial-flow-components-binder.html

...