FullCalendar Scheduler视图添加资源时丢失一个资源求助
排查FullCalendar Scheduler资源丢失问题
嘿,我注意到你作为FullCalendar新手,在开发带垂直资源的Scheduler视图时遇到了棘手的问题——明明插入15个资源对象,却始终只显示14个。别着急,咱们一步步来找问题所在:
首先,发现资源数组的语法错误
看你提供的资源数组示例,第11个资源对象存在明显的JSON语法错误:
{ "id": 501,, "nom": "TEST42", "prenom": "TEST125", }
这里id字段后面多了一个逗号(501,,),这会导致这个资源对象无法被正确解析,FullCalendar在处理时会直接跳过这个无效的资源,自然就少显示了一个。
修复步骤&额外排查建议
修正语法错误:把第11个资源里多余的逗号删掉,改成:
{ "id": 501, "nom": "TEST42", "prenom": "TEST125" }修正后重新运行代码,应该就能看到15个资源全部显示了。
添加日志验证:在循环添加资源的代码里加入日志,确认每个资源都被正常处理:
for(var i = 0; i < d.length; i++) { console.log(`正在添加第${i+1}个资源:`, d[i]); // 新增日志 $('#calendar').fullCalendar('addResource', { id: d[i].nom, title: d[i].prenom + " " + d[i].nom, }); }打开浏览器控制台,看看是否有15条日志输出,以及有没有哪条资源的格式有问题。
确认资源数组长度:在获取到
d之后,先打印数组长度,确保数据库返回的确实是15个资源:self.users = d; console.log('获取到的资源总数:', d.length); // 新增日志检查资源ID唯一性:FullCalendar的资源需要唯一的
id值,虽然你的示例里大部分id是唯一的,但还是要确认所有资源的id没有重复——如果有重复的id,后面的资源会覆盖前面的,也会导致显示数量减少。
总结
最可能的原因就是那个多余的逗号导致的JSON解析失败,先修正这个问题,再通过日志验证每个资源的处理情况,应该就能解决你的问题啦!
内容的提问来源于stack exchange,提问作者dorich31000
相关产品推荐
相关产品推荐

