我正在向完整日历传递一个这样的事件:
{
id: 31,
title: 'Test',
start: '2014-12-22',
end: '2014-12-23',
allDay: true
}
我希望在日历中找到一个跨越整整两天的事件,但该事件仅在2014-12-22
槽中,而不是在2014-12-23
槽中。nextDayThreshold 参数设置为 00:00:00
,但根据文档,当 allDay 设置为 true 时,应忽略该参数。我确信 allDay 被正确解释,因为在议程视图中,事件显示在全天行中。
如何设置完整日历以在两天内显示此类事件?
根据 eventDataTransform 函数,如果您的事件是 allDay,您可以添加 1 天。请注意,这只会影响渲染。
eventDataTransform: function(event) {
if(event.allDay) {
event.end = moment(event.end).add(1, 'days')
}
return event;
}
我相信这是一个有意识的设计决定,因为基于这样的讨论,所有结束日期都被视为排他性的,也就是说,尽管是一整天的事件,您的结束日期不被视为包含(包括(标记的日期。 例如,如果您的开始日期为 2015-03-01 00:00:00
,结束日期为 2015-03-02 00:00:00
则跨度仅为一天。
这似乎与版本 2 升级到使用 moment.js 相吻合。因此,您似乎需要将"23:59:59"添加到结束日期,或者找到一种指定结束日期的不同方式,例如作为开始日期添加两天的持续时间?
在 ajax 上获取所有事件添加一天
moment(end_date, 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD HH:mm:SS')
在 ajax POST (更新( 减去(1, '天'(
moment(eventChange_end, 'YYYY-MM-DD').subtract(1, 'days').format('YYYY-MM-DD HH:mm:SS')