如何让FullCalendar日程日视图纵向堆叠展示3天内容而非横向排列?
实现FullCalendar 3天垂直堆叠的Agenda视图
嘿,我完全懂你的需求——想要在类似agendaDay的视图里把3天的内容上下垂直堆叠,而不是默认的横向并排展示对吧?我来帮你调整代码,完美实现这个效果。
首先,先修正你现有代码里的小问题,再补充关键配置:
修改后的完整代码
$('#calendar').fullCalendar({ defaultView: 'agendaDay', defaultDate: '2017-12-07', editable: true, selectable: true, eventLimit: true, // 允许事件过多时显示“更多”链接 header: { left: 'prev,next today', center: 'title', right: 'agendaDay,agendaThreeDay,agendaWeek,month' }, views: { agendaThreeDay: { type: 'agenda', duration: { days: 3 }, // 核心配置:强制按日期分组,让每一天垂直堆叠 groupByDate: true, // 保持和单日视图一致的时间槽间隔,保证布局统一 slotDuration: '00:30:00', // 可选:根据需求控制是否显示全天事件槽 allDaySlot: true, // 允许事件在时间槽内重叠堆叠 slotEventOverlap: true } } });
关键配置说明
groupByDate: true:这是实现垂直堆叠的核心!默认情况下,当视图时长超过1天,FullCalendar会把日期分成横向列并排展示,这个配置会强制让每一天的日程区块垂直排列。- 视图名称修正:把原来的
agendaTwoDay改成agendaThreeDay,避免和实际3天的时长混淆,更直观。 slotDuration:设置和agendaDay一致的时间间隔(比如30分钟),让3天视图的时间轴和单日视图风格统一,不会出现布局错乱。
额外注意事项
- 确保你使用的是FullCalendar v3.x版本(你的代码语法是v3的,如果是v4+版本,配置语法会有较大差异)。
- 确认已经正确引入了agenda视图所需的CSS和JS资源,缺少资源可能导致视图无法正常渲染。
内容的提问来源于stack exchange,提问作者Vlad N
相关产品推荐
相关产品推荐

