fullcalendar - next ,prev等切换月份回调处理

不啰嗦,我们直接开始!

fullcalendar 版本:v5.9.0

解决方案

fullcalendar next ,prev等切换月份的按钮是没有回调函数,要想由回调函数必须用customButtons(自定义按钮,官方文档),它能提供回调函数,然后再回调函数里通过调用this.$refs.calendar.$options.calendar.next();或calendar.next();去切换月份。

示例

核心代码

fullcalendar设置及渲染

var nowDate = new Date();
var nowDateStr = nowDate.Format("yyyy-MM-dd");
var option = {
  initialDate: nowDateStr,
  // 默认周日作为第一天
  // firstDay: 1,
  // 日历中的日程是否可以编辑. 可编辑是指可以移动, 改变大小等
  editable: false,
  dayMaxEvents: true,
  // 允许天/周名称是否可点击,包括周次weekNumber,点击之后可以跳转到对于的天/周视图,默认false
  navLinks: false,
  dateClick: dateClick,
  // 自定义按钮
  customButtons: {
    prevYearCustom: {
      text: '上一年',
      click: function() {
        prevYearCustomClick();
      }
    },
    prevMonthCustom: {
      text: '上月',
      click: function() {
        prevMonthCustomClick();
      }
    },
    nextMonthCustom: {
      text: '下月',
      click: function() {
        nextMonthCustomClick();
      }
    },
    nextYearCustom: {
      text: '下一年',
      click: function() {
        nextYearCustomClick();
      }
    },
    todayCustom: {
      text: '今天',
      click: function() {
        todayCustomClick();
      }
    }
  },
  // 头部按钮布局展示设置
  headerToolbar: {
    right: 'prevYearCustom,prevMonthCustom,nextMonthCustom,nextYearCustom todayCustom',
  },
  events: [
  ]
};
var calendar = fullcalendar.initCalendar("calendar",option);

点击事件定义

// 日期点击事件
function dateClick(info){
  console.log(info);
}

// 上一年点击
function prevYearCustomClick(){
  calendar.prevYear();
  renderCalendar();
}

// 上月点击
function prevMonthCustomClick(){
  calendar.prev();
  renderCalendar();
}

// 下月点击
function nextMonthCustomClick(){
  calendar.next();
  renderCalendar();
}

// 下一年点击
function nextYearCustomClick(){
  calendar.nextYear();
  renderCalendar();
}

// 今日点击
function todayCustomClick(){
  calendar.today();
  renderCalendar();
}

// 刷新Calendar的数据
function renderCalendar(){
  // TODO:调用接口获取数据,这里定义为空数组
  var events=[];
  calendar.setOption('events', events);
}

展示效果

注意: 

fullcalendar events日程数据源的start和end 分别对应开始日期和结束日期,如果开始日期和结束日期是同一天的那么在@eventClick回调参数中end是默认为null的

不啰嗦,文章结束,建议三连!

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值