FullCalendar v6.1.10事件ID设置无效:事件元素ID为空求助
FullCalendar v6.1.10 事件ID不显示在DOM元素上的问题解决
核心说明
FullCalendar 默认不会将事件对象的id字段自动设置为事件DOM元素的HTMLid属性,所以你直接打印event.el.id会得到空值。
解决方法
方法1:手动给DOM元素绑定ID
通过eventDidMount钩子,在事件渲染完成后手动把事件ID赋值给元素的HTMLid属性:
const calendarEl = document.querySelector(".custom_event_calendar"); const calendar = new FullCalendar.Calendar(calendarEl, { locale: 'de', initialView: "dayGridMonth", displayEventEnd: true, slotLabelFormat: { hour: "numeric", meridiem: "short", hour12: true }, events:[ { id: '80185814', start: "2023-12-05T08:00", end: "2023-12-05T16:00", title: "Lorem" }], // 添加钩子手动设置元素ID eventDidMount: function(info) { info.el.id = info.event.id; }, eventClick: function(event){ console.log(event.el.id); // 现在会输出80185814 } }); calendar.render();
方法2:直接获取事件对象的ID
如果不需要DOM元素带ID,只是想在点击时拿到事件ID,直接访问事件对象本身的id即可,不用取DOM元素的ID:
eventClick: function(event){ console.log(event.event.id); // 直接输出设置的80185814 }
内容的提问来源于stack exchange,提问作者qruim
相关产品推荐
相关产品推荐

