[英]Created date field becomes null on update while using @PrePersist and @PreUpdate
[英]Vaadin DateTimePicker becomes null if only one field (date or time field) is entered
我有 vaadin DateTimePicker 組件,我正在使用它來過濾一些數據。 如果用戶只輸入日期或時間字段之一,DateTimePicker 組件的值變為 null。我想單獨獲取日期和時間字段。 實際上,如果用戶只輸入日期字段,我需要將時間字段設置為默認值,例如 12:00AM。 但是我找不到哪個字段是 null 以及字段的值不是 null。
我試圖將它的值分配給 LocalDateTime 參數,但每當我對具有一個 null 字段的 DateTimePicker 使用 getValue() 方法時,該值返回為 null。
private DateTimePicker start = new DateTimePicker();
private boolean isTimeNull(){
LocalDateTime dateTime = start.getValue();
}
其他字段(通常是時間)的默認值是組件中缺少的功能。 但是您可以使用 JavaScript 解決這個問題。
https://github.com/vaadin/web-components/issues/668
以下是如何在缺少時用零小時填充時間的示例。
DateTimePicker picker = new DateTimePicker();
picker.getElement().executeJs("this.getElementsByTagName(\"vaadin-date-time-picker-date-picker\")[0].addEventListener('change', function(){this.getElementsByTagName(\"vaadin-date-time-picker-time-picker\")[0].value='00:00';}.bind(this));");
picker.addValueChangeListener(event -> {
Notification.show(event.getValue().toString());
});
add(picker);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.