Angular如何实现资源列横向、日期时间纵向排布的日历组件?
Angular 生态符合需求的资源型日历组件方案
以下三个成熟组件均可以实现你要求的「资源横向列排布、时间(带小时)纵向轴、周/月视图、无限滚动纵向视图」的需求:
- FullCalendar Angular 官方封装
FullCalendar 本身就提供了官方 Angular 适配包@fullcalendar/angular,自带的资源时间线视图完全匹配你需要的布局结构,资源项默认作为横向列,时间轴精确到小时纵向排布。周视图、月视图开箱即用,无限滚动纵向视图可以搭配其滚动加载插件实现,支持事件拖拽、资源分组等扩展功能,生态成熟,调试参考资料丰富。 - Angular Calendar(mattlewis92 开源版)
是 Angular 生态内使用率极高的轻量日历组件,支持高度自定义视图模板,可以通过扩展实现资源横向排布的时间线布局。原生支持周、月视图,无限滚动需求可以搭配 Angular CDK 虚拟滚动能力实现,灵活度更高,适合需要大量自定义样式、交互的场景。 - PrimeNG Schedule
PrimeNG 组件库内置的日历组件,基于 FullCalendar 做了深度 Angular 适配,如果你的项目已经在用 PrimeNG 技术栈,这个方案的集成成本最低。默认自带资源时间线视图,周/月视图开箱即用,无限滚动可以通过其提供的懒加载接口实现,和 PrimeNG 其他表单、弹窗组件的联动不需要额外做适配。
注意:FullCalendar 系列的资源时间线视图属于高级功能,商用项目使用需要留意对应的开源许可规则,个人非商用项目可免费使用。以上三个组件均支持分页懒加载事件、资源数据,不需要一次性加载全量时间区间的数据,大流量场景下性能有保障。
内容的提问来源于stack exchange,提问作者yamik
相关产品推荐
相关产品推荐

