如何更改事件的资源
How to change resource(s) of events
FullCalender 4.0 中的资源处理发生了变化。
在 FullCalendar 3.x 中,我使用以下方法更改了事件的资源:
event.resourceId = newResourceId;
在 FullCalendar 4.0 中我找不到正确的方法...
我当前的代码是:
var calendar_event = calendar.getEventById(data.event.id)
if (calendar_event) {
calendar_event.setProp('title', data.event.title)
calendar_event.setProp('resourceIds', [data.event.resourceId])
}
setProp
似乎不是正确的方法,因为之后的事件没有反映网格内的变化,只是标题已更改为新的。
A setter 到 getResources()
,例如setResources()
不存在。
关于 https://fullcalendar.io/docs/resource-data 的官方文档仅包含 resource-fetching,并未以编程方式为现有事件设置新事件。
迁移指南 https://fullcalendar.io/docs/upgrading-from-v3 仅提及方法 setProp
、setExtendedProp
、setStart
、setEnd
、setDates
、setAllDay
、moveStart
、moveEnd
、moveDates
替换 updateEvent
- 缺少资源。
我目前的解决方法是删除并重新添加事件:
calendar.getEventById(data.event.id).remove()
calendar.addEvent(data.event)
如何在不加载和初始化整个事件的情况下将事件移动到另一个资源?
编辑活动资源已 added in version 4.0.2。
documentation描述用法如下:
按 ID:
var event = calendar.getEventById('1');
event.setResources([ 'a' ]); // set a single resource
event.setResources([ 'a', 'b' ]); // set multiple
按资源:
var resourceA = calendar.getResourceById('a');
var resourceB = calendar.getResourceById('b');
var event = calendar.getEventById('1');
event.setResources([ resourceA, resourceB ]);
FullCalender 4.0 中的资源处理发生了变化。
在 FullCalendar 3.x 中,我使用以下方法更改了事件的资源:
event.resourceId = newResourceId;
在 FullCalendar 4.0 中我找不到正确的方法... 我当前的代码是:
var calendar_event = calendar.getEventById(data.event.id)
if (calendar_event) {
calendar_event.setProp('title', data.event.title)
calendar_event.setProp('resourceIds', [data.event.resourceId])
}
setProp
似乎不是正确的方法,因为之后的事件没有反映网格内的变化,只是标题已更改为新的。
A setter 到 getResources()
,例如setResources()
不存在。
关于 https://fullcalendar.io/docs/resource-data 的官方文档仅包含 resource-fetching,并未以编程方式为现有事件设置新事件。
迁移指南 https://fullcalendar.io/docs/upgrading-from-v3 仅提及方法 setProp
、setExtendedProp
、setStart
、setEnd
、setDates
、setAllDay
、moveStart
、moveEnd
、moveDates
替换 updateEvent
- 缺少资源。
我目前的解决方法是删除并重新添加事件:
calendar.getEventById(data.event.id).remove()
calendar.addEvent(data.event)
如何在不加载和初始化整个事件的情况下将事件移动到另一个资源?
编辑活动资源已 added in version 4.0.2。
documentation描述用法如下:
按 ID:
var event = calendar.getEventById('1');
event.setResources([ 'a' ]); // set a single resource
event.setResources([ 'a', 'b' ]); // set multiple
按资源:
var resourceA = calendar.getResourceById('a');
var resourceB = calendar.getResourceById('b');
var event = calendar.getEventById('1');
event.setResources([ resourceA, resourceB ]);