【发布时间】:2018-10-09 11:52:47
【问题描述】:
我正在尝试让 FullCalendar 仅允许 event Resize 如果两个特定的 id 匹配,但我无法让它工作。
本质上,我是在一个组件中加载 FullCalendar。该组件有一个唯一的 ID,表示为日历上的一个事件。日历加载到页面后,如何确保仅将 editable: true 设置为该特定事件?请参阅下面的eventRender,了解我希望实现的伪代码
loadDataToCalendar: function(component, salesAppointments, resExceptions) {
let myEventid;
var ele = component.find('calendar').getElement();
$(ele).fullCalendar({
eventResize: function(event) {
component.set("v.startTime", event.start._d);
component.set("v.endTime", event.end._d);
component.set("v.showSaveButton", true)
},
eventRender: function(event) {
if (event.id === myUniqueIdHere) {
event.editable = true // this is what I'm trying to achieve
}
},
header: {
left: 'prev, next, today',
center: 'title',
right: 'month,agendaWeek,agendaDay',
},
eventOverlap: false,
defaultView: 'agendaWeek',
editable: false,
eventLimit: true,
eventSources: [salesAppointments, resExceptions],
timezone: 'local',
});
},
所以默认情况下,我希望editable 为假。当日历呈现并具有匹配的 ID 时,我需要将该特定事件设置为可编辑:true。我将如何实现这一目标?我试过使用eventRender 没有
成功。
【问题讨论】:
-
文字和标题说这是关于“可编辑”的,尽管第一行令人困惑......“我正在尝试让 FullCalendar 只允许调整事件大小” - 应该是“可编辑” ??
-
eventResize是 FullCalendar 中的函数,允许您拖动事件并使其变长/变短 -
是的,尽管问题的其余部分(包括“if”)都是关于“可编辑”的,这是关于修改事件数据的.....如果你真的意味着你只想要它要使用某个 ID 调整大小,那么您应该更改您的问题以显示您正在尝试的与该 ID 相关的代码。不过,在大多数情况下,我相信我的答案是你应该走的方向。如果没有,请说明您要做什么。
标签: javascript fullcalendar salesforce-lightning