为什么V5的eventClassNames返回的class没有应用?
Why class returned in eventClassNames of V5 is not applied?
在 Alpinejs 2 应用程序中使用 fullcalendar v5.7.2 我想根据需要为单元格设置不同的颜色
在一些 属性 和阅读这里 https://fullcalendar.io/docs/classname-input
我赶上事件 :
dayMaxEvents: true,
views: {
dayGridMonth: {
editable: false
}
},
events: function (info, successCallback, failureCallback) { //get data from db for selected dates
self.select_year = parseInt(moment(info.start).format('YYYY'))
self.select_month = parseInt(moment(info.start).format('MM'))
var dataArray = {
'_token': '{{ $csrf_token }}',
'start': moment(info.start).format('YYYY-MM-DD'),
'end': moment(info.end).format('YYYY-MM-DD'),
'ad_categories': self.searchSelectedCategoryIds,
'users': self.searchSelectedUserIds,
'status': self.searchStatus,
'text': self.searchText
}
window.axios.post('/admin/get_ad_events', dataArray).then((response) => {
successCallback(response.data.events);
}).catch((error) => {
console.error(error)
failureCallback(error)
popupAlert('Calendar', 'Run time error : ' + getErrorMessage(error), 'error')
});
}, // events: function(info, successCallback, failureCallback) { //get data from db for selected dates
eventClassNames: function(arg) {
// return 'fullcalendar_nearest_days'; // if to uncomment this line it does not work anyway
if (arg.event.extendedProps.is_past) {
return [ 'fullcalendar_nearest_days' ]
} else {
return [ 'normal' ]
}
我检查并发现 fullcalendar_nearest_days 已返回,但它的属性未应用
并检查事件代码我在事件样式中没有看到“fullcalendar_nearest_days”...
哪种方式是正确的?
修改:
fullcalendar_nearest_days 定义为:
.fullcalendar_nearest_days {
background-color: red !important;
color: yellow !important;
font-weight: bold;
}
查看生成的代码,我发现 fullcalendar_nearest_days 是“a”标签中最新的 class class 定义:
<div class="fc-daygrid-event-harness fc-daygrid-event-harness-abs"
style="visibility: hidden; top: 0px; left: 0px; right: 0px;"><a
class="fc-daygrid-event fc-daygrid-dot-event fc-event fc-event-draggable fc-event-resizable fc-event-start fc-event-end fc-event-past fullcalendar_nearest_days"
data-id="undefined"><span class="flex flex-nowrap"><
难道 fullcalendar_nearest_days 的属性没有应用,因为它们被 fc-daygrid-event fc-daygrid-dot-event fc-event fc-event-draggable fc-event-resizable fc 覆盖了-event-start fc-event-end fc-event-past ?
我可以在某些日期的“a”标签 class 定义中删除这些 class 中的 all/part 吗?
谢谢!
我用你的 CSS - https://codepen.io/ADyson82/pen/zYwYxRp 制作了一个演示。定时事件似乎没有问题,class 应用于正确的事件并且颜色会按您预期的那样变化。
但是在 all-day 事件中不应用黄色。如果您在浏览器中使用元素检查器,您可以看到每个元素应用了哪些 CSS 规则,以及什么覆盖了它们。你可以看到标题在主元素的另一个 div 里面,上面有 fc-event-main class,并且 class 有一条规则覆盖 color
属性 再一次。
幸运的是,我们可以通过调整 CSS 规则来专门处理这种情况,从而轻松解决此问题:
.fullcalendar_nearest_days, .fullcalendar_nearest_days .fc-event-main {
background-color: red !important;
color: yellow !important;
font-weight: bold;
}
在 Alpinejs 2 应用程序中使用 fullcalendar v5.7.2 我想根据需要为单元格设置不同的颜色 在一些 属性 和阅读这里 https://fullcalendar.io/docs/classname-input 我赶上事件 :
dayMaxEvents: true,
views: {
dayGridMonth: {
editable: false
}
},
events: function (info, successCallback, failureCallback) { //get data from db for selected dates
self.select_year = parseInt(moment(info.start).format('YYYY'))
self.select_month = parseInt(moment(info.start).format('MM'))
var dataArray = {
'_token': '{{ $csrf_token }}',
'start': moment(info.start).format('YYYY-MM-DD'),
'end': moment(info.end).format('YYYY-MM-DD'),
'ad_categories': self.searchSelectedCategoryIds,
'users': self.searchSelectedUserIds,
'status': self.searchStatus,
'text': self.searchText
}
window.axios.post('/admin/get_ad_events', dataArray).then((response) => {
successCallback(response.data.events);
}).catch((error) => {
console.error(error)
failureCallback(error)
popupAlert('Calendar', 'Run time error : ' + getErrorMessage(error), 'error')
});
}, // events: function(info, successCallback, failureCallback) { //get data from db for selected dates
eventClassNames: function(arg) {
// return 'fullcalendar_nearest_days'; // if to uncomment this line it does not work anyway
if (arg.event.extendedProps.is_past) {
return [ 'fullcalendar_nearest_days' ]
} else {
return [ 'normal' ]
}
我检查并发现 fullcalendar_nearest_days 已返回,但它的属性未应用 并检查事件代码我在事件样式中没有看到“fullcalendar_nearest_days”...
哪种方式是正确的?
修改: fullcalendar_nearest_days 定义为:
.fullcalendar_nearest_days {
background-color: red !important;
color: yellow !important;
font-weight: bold;
}
查看生成的代码,我发现 fullcalendar_nearest_days 是“a”标签中最新的 class class 定义:
<div class="fc-daygrid-event-harness fc-daygrid-event-harness-abs"
style="visibility: hidden; top: 0px; left: 0px; right: 0px;"><a
class="fc-daygrid-event fc-daygrid-dot-event fc-event fc-event-draggable fc-event-resizable fc-event-start fc-event-end fc-event-past fullcalendar_nearest_days"
data-id="undefined"><span class="flex flex-nowrap"><
难道 fullcalendar_nearest_days 的属性没有应用,因为它们被 fc-daygrid-event fc-daygrid-dot-event fc-event fc-event-draggable fc-event-resizable fc 覆盖了-event-start fc-event-end fc-event-past ? 我可以在某些日期的“a”标签 class 定义中删除这些 class 中的 all/part 吗?
谢谢!
我用你的 CSS - https://codepen.io/ADyson82/pen/zYwYxRp 制作了一个演示。定时事件似乎没有问题,class 应用于正确的事件并且颜色会按您预期的那样变化。
但是在 all-day 事件中不应用黄色。如果您在浏览器中使用元素检查器,您可以看到每个元素应用了哪些 CSS 规则,以及什么覆盖了它们。你可以看到标题在主元素的另一个 div 里面,上面有 fc-event-main class,并且 class 有一条规则覆盖 color
属性 再一次。
幸运的是,我们可以通过调整 CSS 规则来专门处理这种情况,从而轻松解决此问题:
.fullcalendar_nearest_days, .fullcalendar_nearest_days .fc-event-main {
background-color: red !important;
color: yellow !important;
font-weight: bold;
}