0

我正在从 FullCalendar v3 更新到 v4,并且在从单击的资源中获取 businessHours 时遇到问题。

在 v3 中,我以这种方式获取 businessHours:

    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()

有任何想法吗?

4

1 回答 1

0

如果您打算使用 businessHours 值来检查用户选择的开始/结束时间是否在定义的时间内,那么您实际上不需要任何自定义代码,或者根本不需要检索 businessHours 值。

如果您设置选项

selectConstraint: "businessHours"

在您的完整日历设置中,日历代码将阻止用户自动选择工作时间以外的任何时间。他们甚至无法尝试选择它。

演示:https ://codepen.io/anon/pen/BEvoVN?&editable=true&editors=001

文档:https ://fullcalendar.io/docs/selectConstraint

于 2019-04-25T15:19:06.717 回答