You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FullCalendar Scheduler视图添加资源时丢失一个资源求助

排查FullCalendar Scheduler资源丢失问题

嘿,我注意到你作为FullCalendar新手,在开发带垂直资源的Scheduler视图时遇到了棘手的问题——明明插入15个资源对象,却始终只显示14个。别着急,咱们一步步来找问题所在:

首先,发现资源数组的语法错误

看你提供的资源数组示例,第11个资源对象存在明显的JSON语法错误:

{ "id": 501,, "nom": "TEST42", "prenom": "TEST125", }

这里id字段后面多了一个逗号(501,,),这会导致这个资源对象无法被正确解析,FullCalendar在处理时会直接跳过这个无效的资源,自然就少显示了一个。

修复步骤&额外排查建议

  1. 修正语法错误:把第11个资源里多余的逗号删掉,改成:

    { "id": 501, "nom": "TEST42", "prenom": "TEST125" }
    

    修正后重新运行代码,应该就能看到15个资源全部显示了。

  2. 添加日志验证:在循环添加资源的代码里加入日志,确认每个资源都被正常处理:

    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条日志输出,以及有没有哪条资源的格式有问题。

  3. 确认资源数组长度:在获取到d之后,先打印数组长度,确保数据库返回的确实是15个资源:

    self.users = d;
    console.log('获取到的资源总数:', d.length); // 新增日志
    
  4. 检查资源ID唯一性:FullCalendar的资源需要唯一的id值,虽然你的示例里大部分id是唯一的,但还是要确认所有资源的id没有重复——如果有重复的id,后面的资源会覆盖前面的,也会导致显示数量减少。

总结

最可能的原因就是那个多余的逗号导致的JSON解析失败,先修正这个问题,再通过日志验证每个资源的处理情况,应该就能解决你的问题啦!

内容的提问来源于stack exchange,提问作者dorich31000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:54:06