当CustomView具有visibleRange时,使用previous/next在FullCalendar中导航
我的日历有一个特定视图:它显示31天(显示当前日期前4天,之后27天) 因此,我的视图有一个动态可视范围当CustomView具有visibleRange时,使用previous/next在FullCalendar中导航,fullcalendar,custom-view,fullcalendar-scheduler,fullcalendar-4,Fullcalendar,Custom View,Fullcalendar Scheduler,Fullcalendar 4,我的日历有一个特定视图:它显示31天(显示当前日期前4天,之后27天) 因此,我的视图有一个动态可视范围 let INIT = moment().subtract(4, 'days').format('YYYY-MM-DD'); let INIT_END = moment(INIT).add(31,'days').format('YYYY-MM-DD'); [……] 和 我尝试了一些涉及jQuery的东西,它基本上是有效的,除了您必须在prev/next上单击两次才能更改visibleRang
let INIT = moment().subtract(4, 'days').format('YYYY-MM-DD');
let INIT_END = moment(INIT).add(31,'days').format('YYYY-MM-DD');
[……]
和
我尝试了一些涉及jQuery的东西,它基本上是有效的,除了您必须在prev/next上单击两次才能更改visibleRange(从next转到previous时也必须单击两次,反之亦然)
我想要的是:
calendar.setOption('visibleRange', {
start: INIT,
end: INIT_END
})
但在我的实现中,它只工作一次,当它被触发时,点击按钮就不再工作了
你可以在上面找到代码
你能帮我吗?好的,一位同事的同事带我找到了解决方案,非常感谢他 我没有使用visibleRange并尝试使用jQuery操作FullCalendar的数据(非常粗略),而是计算我的两个时刻之间的差异以获得持续时间:
const INIT = moment().subtract(4, 'days');
const INIT_END = moment(INIT).add(31,'days');
let duration = INIT_END.diff(INIT, 'days')
然后我在customView的设置中使用此持续时间:
resourceTimelineRollingMonth: {
type: 'resourceTimeline',
duration: { days: duration },
buttonText: '31 jours'
}
为了使我的视图在当前日期前4天开始,我在Calendar对象中设置:
[...]
defaultDate: INIT.format('YYYY-MM-DD'),
[...]
现在它可以完美地工作了
[...]
defaultDate: INIT.format('YYYY-MM-DD'),
[...]