FullCalendar - 向事件对象添加新属性

rks*_*een 3 ajax events json properties fullcalendar

有很多线程讨论类似的问题,但没有一个我能真正理解并应用于我的项目。

我有一个数据库,其中包含一个包含多个字段的事件表:“字段 1”、“字段 2”、“字段 3”...我有一个 PHP 文件(json.php),json_encode 将该表转换为 JSON 格式,我正在使用 FullCalendar 插件来从该文件中获取事件,只需:

events: "json.php"
Run Code Online (Sandbox Code Playgroud)

JSON 格式的每个事件如下所示:

    {
    "Field 1": "value of Field 1",
    "Field 2": "value of Field 2",
    .
    .
    .
    "Field n": "value of Field n",
    "title": "the title"
    "start": "some ISO8601 date string",
    "end": "some ISO8601 date string"
    }
Run Code Online (Sandbox Code Playgroud)

“标题”、“开始”和“结束”字段是最重要的字段,因为 FullCalendar 事件函数默认需要这些字段来创建事件对象和元素。

这很好用。事件以“标题”、“开始”和“结束”属性呈现并显示在日历中。

我的问题是如何让 FullCalendar 将剩余字段作为属性添加到它创建的事件对象中?

我知道自定义事件函数events(作为函数)是我在这里的朋友,但我对此很陌生,即使在阅读了所有相关文档之后,我仍然不清楚如何实现这一点,因为我不是完全确定该功能是如何工作的,而且我对 AJAX 的了解很平庸。

我确信解决方案非常简单。

先感谢您

解决方案:

FullCalender 已经自动执行此操作,因此无需在此进行额外的工作。它对我不起作用的原因是与我的代码中的其他内容有关。

感谢阿迪森!

小智 7

FullCalendar 版本 4:任何自定义值都可以在事件对象的“extendedProps”中找到

events: [

                    {
                    title: 'My Title',
                    My_Custom_Value: 'non-standard Event Object field',
                    allDay: false,
                    start: 1501056000000,
                    end: 1501057800000
                    }
],

eventRender: function(info){

                    console.log("_______ info _______\n");
                    console.log(info.event.extendedProps.My_Custom_Value);
}
Run Code Online (Sandbox Code Playgroud)

“extendedProps 一个普通对象,包含在解析期间指定的各种其他属性。接收显式给定的 ExtendedProps 哈希中的属性以及其他非标准属性。”

https://fullcalendar.io/docs/event-object