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);
您从当前计划日历中获取日期,然后将日期设置回它。
那意味着你什么都不做。
也许您需要在计划日历的首字母上获取开始日期。不是您想要重置的时间。
我无法将 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);
您从当前计划日历中获取日期,然后将日期设置回它。 那意味着你什么都不做。
也许您需要在计划日历的首字母上获取开始日期。不是您想要重置的时间。