Обязательное поле со списком vaadin 8

Существует плагин, который расширяет CSS, чтобы включить некоторые нестандартные функции, которые действительно могут помочь при разработке веб-сайтов. Это называется EQCSS .

Одна из вещей, которые добавляет EQCSS, является родительским селектором. Он работает во всех браузерах IE8 и выше. Вот формат:

@element 'a.active' {
  $parent {
    background: red;
  }
}

Итак, здесь мы открыли запрос элемента для каждого элемента a.active, а для стилей внутри этого запроса такие вещи, как $parent, имеют смысл, потому что есть контрольная точка , Браузер может найти родителя, потому что он очень похож на parentNode в JavaScript.

Вот демонстрация $parent и еще одной демонстрации $parent, которая работает в IE8 , а также снимок экрана, если у вас нет IE8 для тестирования с помощью .

EQCSS также включает в себя метаселектора $prev для элемента перед выбранным элементом, $this только для тех элементов, которые соответствуют запросу элемента, и многое другое.

0
задан recurseuntilfor 28 March 2019 в 08:36
поделиться

2 ответа

Вы упомянули в комментарии, что поле gender в вашем объекте Student на самом деле является Enum, а не String.

Ваша ошибка состояла в том, что вы определили ComboBox с типом String вместо вашего полового перечисления.

Предполагая, что ваш половой enum класс называется Gender, это будет работать:

ComboBox<Gender> gender = new ComboBox<Gender>("Gender");
Binder binder = new Binder<Student>(Student.class);
binder.bind(gender, Student::getGender, Student::setGender);

Вы можете добавить ItemLabelGenerator в ComboBox, чтобы определить, как должно отображаться ваше гендерное перечисление. По умолчанию он будет использовать toString() класса. Но вы можете использовать его, например, для сборки Vaadin Components, если хотите. посмотрите, как это делается в документации ).

0
ответ дан Kaspar Scherrer 28 March 2019 в 08:36
поделиться

Я обнаружил, что в vaadin 8 используется bindInstanceFields для привязки данных формы к классу.

Binder binder = new Binder<Student>(Student.class);

binder.bindInstanceFields(this);
binder.readBean(student);
0
ответ дан recurseuntilfor 28 March 2019 в 08:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: