Javascript 更改fullcalendar不保留事件的视图
我使用的是v3的。当我将日历初始化时,我会看到议程视图,但当我开始一些活动并更改视图时,这些活动就不存在了 这只发生在第一次交互上,之后事件被渲染得很好 我在文件上看到了问题,但没有解决我的问题 这是我的日历自定义配置:Javascript 更改fullcalendar不保留事件的视图,javascript,jquery,fullcalendar,Javascript,Jquery,Fullcalendar,我使用的是v3的。当我将日历初始化时,我会看到议程视图,但当我开始一些活动并更改视图时,这些活动就不存在了 这只发生在第一次交互上,之后事件被渲染得很好 我在文件上看到了问题,但没有解决我的问题 这是我的日历自定义配置: $(document).ready(function () { var containerEl = $('#calendar'); containerEl.fullCalendar({ defaultView: 'agendaWeek',
$(document).ready(function () {
var containerEl = $('#calendar');
containerEl.fullCalendar({
defaultView: 'agendaWeek',
hiddenDays: [0],
locale: 'pt-br',
slotLabelFormat: 'HH:mm',
views: {
week: { columnHeaderFormat: 'ddd D/M' }
},
editable: true,
allDaySlot: false,
slotDuration: '00:15:00',
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
buttonText: {
month: 'Mês',
agendaDay: 'Dia',
agendaWeek: 'Semana',
today: 'Hoje'
},
// Dates outside of the valid range will be grayed-out. The user
// will not be able to drag or resize events into these areas.
validRange: {
start: moment('2018-10-22'),
end: moment('2018-05-29')
},
minTime: "07:00:00",
maxTime: "23:30:00",
// Slot do evento de tamanho fixo a horaAula da escola
eventDurationEditable: false,
eventStartEditable: true,
defaultTimedEventDuration: '00:45:00',
selectable: true,
// Eventos
select: function (start, end, jsEvent, view) {
addEvent(containerEl, start, end, jsEvent, view);
},
eventClick: function (event, jsEvent, view) {
removeEvent(containerEl, event, jsEvent, view);
},
dayClick: function(date, allDay, jsEvent, view) {
// Se a view for de mês mudamos para o dia quando clicável
if (jsEvent.name === 'month') {
containerEl.fullCalendar('changeView', 'agendaDay', date);
}
}file:///home/italo/Downloads/bug.gif
});
});
有一个可选参数,stick。将其设置为true,事件应保持在视图更改之间
将true作为第三个参数更新
function addEvent(containerEl, start, end, jsEvent, view) {
//var allDay = !start.hasTime && !end.hasTime;
if (view.name !== 'month') {
var newEvent = new Object();
newEvent.title = 'Colocar o nome da disciplina aqui';
newEvent.start = moment(start).format();
newEvent.allDay = false;
containerEl.fullCalendar('renderEvent', newEvent, true /* stick */);
}
}
注意:此更改不会将事件保存到数据库等资源中。这需要额外的代码。有一个可选参数,stick。将其设置为true,事件应保持在视图更改之间
将true作为第三个参数更新
function addEvent(containerEl, start, end, jsEvent, view) {
//var allDay = !start.hasTime && !end.hasTime;
if (view.name !== 'month') {
var newEvent = new Object();
newEvent.title = 'Colocar o nome da disciplina aqui';
newEvent.start = moment(start).format();
newEvent.allDay = false;
containerEl.fullCalendar('renderEvent', newEvent, true /* stick */);
}
}
注意:此更改不会将事件保存到数据库等资源中。这需要额外的代码