簡體   English   中英

如果只輸入一個字段(日期或時間字段),Vaadin DateTimePicker 變為 null

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM