Salesforce中FullCalendar拖拽事件时报错:Cannot read properties of undefined (reading 'largeUnit')
解决FullCalendar拖拽事件时"Cannot read properties of undefined (reading 'largeUnit')"报错
针对你在Salesforce中使用本地静态资源的FullCalendar遇到的拖拽报错,可按以下步骤排查解决:
检查FullCalendar依赖与版本兼容性
确保上传的静态资源包含完整的必需文件:- 若使用v5及以上版本,必须引入对应的视图插件(如
@fullcalendar/daygrid、@fullcalendar/timegrid)和交互插件@fullcalendar/interaction,拖拽功能依赖交互插件; - 日期格式化方法
format()需要配套的日期适配器(如luxon或moment.js),确认已将这些依赖文件一同上传并在页面中加载。
- 若使用v5及以上版本,必须引入对应的视图插件(如
修正视图初始化配置
确认Calendar初始化时指定了有效的初始视图,比如:initialView: 'dayGridMonth' // v5+版本使用initialView,旧版本用defaultViewlargeUnit是视图的核心属性,若未正确指定视图,会导致视图对象未初始化,触发该报错。修正事件对象属性访问
你代码中同时使用了event.Id(大写I)和event.id(小写i),FullCalendar的事件对象属性是小写的id,大写Id可能是Salesforce数据导入时的字段名,但在FullCalendar的事件回调中,需统一使用小写属性:console.log("event drop+", event.id); // 改为小写id错误的属性访问可能导致后续逻辑异常,间接引发视图相关报错。
调试事件对象与日期格式化
在eventDrop开头打印完整的event对象,确认event.start是有效的日期对象:eventDrop: function(event, delta, revertFunc) { console.log('完整事件对象:', event); // 后续逻辑... }若
event.start不存在或不是日期对象,调用format()会报错,进而触发连锁问题。验证dragScroll与droppable配置
确认当前使用的FullCalendar版本支持这两个配置项,v5+版本中dragScroll默认开启,droppable需要配合交互插件使用,若未加载插件会导致功能异常。
内容的提问来源于stack exchange,提问作者Vinitha vino
相关产品推荐
相关产品推荐

