fullcalendar selectMinDistance取消选择时不考虑距离



我正在使用fullcalndar selectMinDistance

示例init:

我认为这是通过像素比例实现的。我已将其设置为selectMinDistance: 155

var calendar = new FullCalendar.Calendar(calendarEl, {
initialView: 'dayGridMonth',
selectable: true,
eventOverlap: true,
selectOverlap: true,
validRange: {
start: year + '-05-20',
end: year + '-11-15'
},
selectMinDistance: 155,
...

这很好,因为我希望至少选择3天。然而,当用户选择,然后决定按下同一鼠标取消选择时,他可以取消选择并将其减少到一天。有点违背目的。

有人知道FullCal中是否有什么东西可以防止这种情况发生,或者有一个好的解决方案吗?我没有在文档中找到任何可以帮助我的东西…

对于我的应用程序来说,selectMinDistance不是最好的方法,有人指出我应该使用这里的selectAllow,这非常有效。

我不知道为什么我第一次没有在网上搜索到它。

为了防止用户选择低于设定天数的日期,您可以使用此功能并抛出true或false,以便用户可以选择

我的示例用法

var year = new Date().getFullYear();
var calendar = new FullCalendar.Calendar(calendarEl, {
initialView: 'dayGridMonth',
selectable: true,
eventOverlap: true,
selectOverlap: true,
validRange: {
start: year + '-05-20',
end: year + '-11-15'
},
//  selectMinDistance: 155,  this will not work for deselecting
selectAllow: function(selectInfo){
console.log(selectInfo);
//  create a day
var oneDay = 24 * 60 * 60 * 1000;
var startDay = selectInfo.start;
//  FullCalendar always gives next next day of select end day, so do minus one day
var endDay = selectInfo.end - oneDay;
var count = Math.round(Math.abs((startDay - endDay) / oneDay));
//  starts at 0, so add to start at 1
var dayCount = (count + 1);
if(dayCount >= 3){
return true;
}else{
return false;
}

},
...

相关内容

  • 没有找到相关文章

最新更新