Добрый день, @alex2910sk!
Прошу прощения за долгий ответ. У меня получилось воспроизвести вашу проблему.
Как показано на данном скриншоте, для полей с типом DateTime
меняется только значение дня (DateField
), а время (TimeField
) остается прежним.
Возможно проблема заключается в компоненте Vaadin. Rpc метод для смены значения даты в DateField
компоненте помечен аннотацией com.vaadin.shared.annotations.@Delayed
(см. com.vaadin.shared.ui.datefield.AbstractDateFieldServerRpc.#updateValueWithDelay
). Это означает, что событие смены значения в DateField
отправляется на сервер не сразу после изменения значения, а оно помещается в очередь и отправляется на сервер при вызове любого другого rpc метода, не помеченного аннотацией @Delayed
.
А так как для отображения значений дат используется один и тот же компонент DateField
, то возникает ситуация, когда вы уже сменили элемент в instance контейнере, а значение даты меняется в зависимости от rpc вызовов. Поэтому значение дня остается от старого элемента, а время от нового.
С уважением,
Глеб