FullCalendar 是一个流行的 JavaScript 日历组件,eventObject 是 FullCalendar 中表示日历事件的核心对象。默认情况下,eventObject 包含一些标准属性如 id、title、start、end 等,但开发者经常需要添加自定义属性来满足特定业务需求。
const events = [
{
id: '1',
title: '会议',
start: '2023-10-10T10:00:00',
end: '2023-10-10T12:00:00',
customAttribute: '自定义值', // 添加自定义属性
extendedProps: { // 推荐使用extendedProps存放自定义属性
priority: 'high',
location: '会议室A'
}
}
];
eventRender: function(info) {
info.event.setExtendedProp('lastModified', new Date());
info.event.setProp('customColor', '#ff0000');
}
eventClick: function(info) {
info.event.setExtendedProp('clickCount',
(info.event.extendedProps.clickCount || 0) + 1);
}
eventClick: function(info) {
// 访问直接添加的属性
console.log(info.event.customAttribute);
// 访问extendedProps中的属性
console.log(info.event.extendedProps.priority);
// 获取所有自定义属性
console.log(info.event.extendedProps);
}
extendedProps
来存储自定义属性,因为:info.event.setProp()
或info.event.setExtendedProp()
来确保更改生效document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
initialView: 'dayGridMonth',
events: [
{
title: '项目评审',
start: '2023-10-15',
end: '2023-10-17',
extendedProps: {
department: '研发部',
budget: 5000
},
color: '#ff9f89'
}
],
eventClick: function(info) {
alert(
'事件: ' + info.event.title + '\n' +
'部门: ' + info.event.extendedProps.department + '\n' +
'预算: $' + info.event.extendedProps.budget
);
}
});
calendar.render();
});
没有搜到相关的文章