SAPUI5 PlanningCalendar 设置开始日期

SAPUI5 PlanningCalendar set startDate

我无法将 PlanningCalendar 重置回初始开始日期。 因此,在单击“今天”或“向后导航”或“向前导航”箭头后,无法返回到初始开始日期。 我不确定我做的是否正确,但你可以找到一个有效的例子 here

这是控制器

sap.ui.define(
  [
    'sap/ui/core/mvc/Controller',
    'sap/ui/model/json/JSONModel',
    'sap/ui/model/resource/ResourceModel',
    'sap/m/MessageToast'
  ],
  function (Controller, JSONModel, ResourceModel, MessageToast) {
    'use strict';
    var PageController = Controller.extend('view.Main', {
      onInit: function () {
        var oModel = new JSONModel();
        oModel.setData({...});
        var oView = this.getView();
        oView.setModel(oModel);
      },
      dateFormatter: function (sDate) {
        return new Date(sDate);
      },
      resetStartDate: function () {
        var oView = this.getView();
        var oPlanningCalendar = oView.byId('PC1');
        var startDate = oPlanningCalendar.getStartDate();
        oPlanningCalendar.setStartDate(startDate);
        MessageToast.show("'resetStartDate' event fired.");
      },
      handleStartDateChange: function (oEvent) {
        var oView = this.getView();
        var oPlanningCalendar = oView.byId('PC1');
        var startDate = oPlanningCalendar.getStartDate();
        MessageToast.show("'startDateChange' event fired.\n\nNew start date is " + startDate.toString());
      }
    });
    return PageController;
  }
);

问题出在下面两行代码

 var startDate = oPlanningCalendar.getStartDate();
 oPlanningCalendar.setStartDate(startDate);

您从当前计划日历中获取日期,然后将日期设置回它。 那意味着你什么都不做。

也许您需要在计划日历的首字母上获取开始日期。不是您想要重置的时间。