首页 > 解决方案 > 日期选择器:如何在 UI5 中将日历的焦点更改为今天的日期?

问题描述

我面临一个关于sap.m.DatePicker. 当我单击日历图标时,我想在日历中查看今天的日期。但我无法显示。以下是我的代码:

<DatePicker displayFormat="dd-MM-yyyy" valueFormat="yyyy-MM-dd" value="31-12-9999" navigate=".onNavigateDate"/>

UI5 日期选择器 9999-12-31

在上面的屏幕截图中,我31-12-9999从后端获取日期。但是如果点击日历图标,我应该会在日历中看到今天的日期。用户很难导航到当前日期。

我试过使用setInitialFocusedDateValue,但没有用。下面是我的navigate事件的 JavaScript 代码。

onNavigateDate: function(event) {
  var dateObject = event.getSource();
  dateObject.setModel(new JSONModel({ date: new Date() }));
  var m = dateObject.getModel();
  dateObject.setDateValue(m.getProperty("/date"));
  dateObject.setInitialFocusedDateValue(m.getProperty("/date"));
},

如果我单击日历图标,有人可以帮我在日历中显示今天的日期吗?

标签: dateinputsapui5

解决方案


我使用了这样的导航事件,它起作用了:

看法:

<DatePicker
  id="DP1"
  placeholder="Enter Date ..."
  navigate="onNavigate"
  value="31-12-9999"
  class="sapUiSmallMarginBottom"/>

在控制器中:

onNavigate : function(oEvent) {
    oEvent.getSource().setValue(new Date())
}

您在导航方法上使用的逻辑似乎不起作用。可能是因为你的 UI5 版本。initialFocusedDateValue属性仅在版本 1.46.0发布。另外,请记住,我所做的方法会更改日期选择器的值,这意味着一旦关闭,它将以今天的日期作为值。


推荐阅读