我正在从 FullCalendar v3 更新到 v4,并且在从单击的资源获取业务时遇到问题。
在 v3 中,我以这种方式获得业务时间:
select: function (eventClickInfo) {
console.log(eventClickInfo.resource)
}
资源数据:
...
businessHours: [
start: XXX
end: XXX
], [
start: XXX
end: XXX
]
...
但是在 V4 中,资源对象得到了这样的结构:
_resource:
businessHours:
defs:
203:
allDay: false
defId: "203"
extendedProps:
end: {ms: 43200000, __edmType: "Edm.Time"}
groupId: "_businessHours"
hasEnd: true
...
204:
allDay: false
defId: "204"
extendedProps:
end: {ms: 72000000, __edmType: "Edm.Time"}
groupId: "_businessHours"
hasEnd: true
...
没有开始时间,也没有办法像.getResource("XXX").getBusinessHours()
那样获得营业时间
有什么想法吗?
如果您打算使用 businessHours 值来检查用户选择的开始/结束时间是否在定义的小时内,那么您实际上不需要任何自定义代码,或者根本不需要检索 businessHours 值。
如果设置了该选项
selectConstraint: "businessHours"
在完整的日历设置中,日历代码将阻止用户自动选择工作时间以外的任何时间。他们甚至无法尝试选择它。
演示:https://codepen.io/anon/pen/BEvoVN?&editable=true&editors=001
文档:https://fullcalendar.io/docs/selectConstraint