我试图根据JSON源中的一个特定键的值来过滤FullCalendar上显示的事件。这就是JSON的样子。
events.json
[
{
"start": "2020-05-22",
"end": "2020-05-26",
"rendering": "background",
"cottage": "cottage-one"
},
{
"start": "2020-06-22",
"end": "2020-06-26",
"rendering": "background",
"cottage": "cottage-one"
},
{
"start": "2020-05-01",
"end": "2020-05-06",
"rendering": "background",
"cottage": "cottage-two"
}
]
这就是我的javascript中生成日历的内容。
script.js
var calendar = new Calendar(calendarEl, {
plugins: [ dayGridPlugin ],
firstDay: 1,
events: 'events.json',
height: 'auto',
header: {
left: 'prev',
center: 'title',
right: 'next'
}
});
calendar.render();
这一切都很好,但我只想显示事件的 cottage-one
在这个特殊的例子中。我需要在 脚本.js 来实现这个目标?我已经尝试了一些我在这里找到的方法,但他们更关注动态更新过滤器,我无法成功地改变语法以适应我的使用情况。
任何帮助非常欢迎
你可以使用 eventSourceSuccess 参数来实现这一目的。从文档上看。
一个在获取成功时被调用的函数 A function that gets called when fetching succeeds. 它可以转换响应。
完整的代码是
var calendar = new Calendar(calendarEl, {
plugins: [ dayGridPlugin ],
firstDay: 1,
events: 'events.json',
eventSourceSuccess: (events, xhr) => events.filter(event => event.cottage === 'cottage-one'),
height: 'auto',
header: {
left: 'prev',
center: 'title',
right: 'next'
}
});
calendar.render();