前端组件库—— FullCalendar 知识点大全(二)

简介: 教程来源 http://lemci.cn 本文详解 FullCalendar 核心配置与事件管理:涵盖视图、事件、时区本地化、交互等配置;支持自定义视图、按钮文本及多语言;提供事件对象结构、多种数据源(静态/JSON/回调)、extendedProps 扩展属性、动态增删改及渲染定制,助力高效日历开发。

三、核心配置参数

FullCalendar 提供了丰富的配置选项,用于定制日历的外观和行为。以下是最常用的配置参数分类详解。

3.1 视图配置
image.png
3.2 事件配置
image.png
3.3 时间与本地化配置
image.png
3.4 交互配置
image.png
3.5 自定义视图
当需要创建具有特定时长的自定义视图时,可以通过 views 参数进行配置。

var calendar = new Calendar(calendarEl, {
  defaultView: 'resourceTimelineCustom',
  views: {
    resourceTimelineCustom: {
      type: 'resourceTimeline',
      duration: { days: 4 }    // 自定义视图时长为4天
    }
  }
});

3.6 按钮文本自定义与本地化

var calendar = new Calendar(calendarEl, {
  buttonText: {
    today: '今天',
    month: '月',
    week: '周',
    day: '日',
    list: '列表'
  },
  monthNames: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
  monthNamesShort: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
  dayNames: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
  dayNamesShort: ['周日', '周一', '周二', '周三', '周四', '周五', '周六']
});

3.7 视图特定配置
agenda 视图特有配置:

allDaySlot:是否显示“全天”区域,默认 true

allDayText:自定义全天区域显示文本,默认 'all-day'

slotEventOverlap:事件是否允许重叠,默认 true

slotDuration:时间槽间隔(分钟)

minTime / maxTime:可视区域的时间范围

四、事件数据管理

4.1 事件对象(Event Object)
事件对象是 FullCalendar 中最核心的数据结构,用于存储每个日程事件的信息。
image.png
image.png
4.2 事件数据源(Event Sources)
FullCalendar 支持从多种数据源获取事件数据。

方式一:静态数组

events: [
  { title: '事件 1', start: '2024-01-01' },
  { title: '事件 2', start: '2024-01-05', end: '2024-01-07' }
]

方式二:JSON API

events: '/api/events'

方式三:回调函数

events: function(info, successCallback, failureCallback) {
  $.ajax({
    url: '/api/events',
    data: {
      start: info.start.valueOf(),
      end: info.end.valueOf()
    },
    success: function(data) {
      successCallback(data);
    }
  });
}

4.3 自定义事件属性
可以通过 extendedProps 为事件添加自定义属性。

var calendar = new Calendar(calendarEl, {
  events: [
    {
      title: 'Meeting',
      start: '2023-10-10T10:00:00',
      extendedProps: {
        description: 'Discuss project updates',
        priority: 'high'
      }
    }
  ],
  eventContent: function(arg) {
    // 在渲染时访问自定义属性
    let description = arg.event.extendedProps.description;
    return { html: `<b>${arg.event.title}</b><br/><small>${description}</small>` };
  }
});

4.4 动态添加/更新/删除事件

// 添加事件
calendar.addEvent({
  title: '新事件',
  start: '2024-01-15',
  allDay: true
});

// 获取事件
var event = calendar.getEventById('event-id');

// 更新事件(方式一:使用 setProp 和 setDates)
event.setProp('title', '修改后的标题');
event.setDates('2024-01-20', '2024-01-22');

// 更新事件(方式二:使用 remove 后重新 add)
event.remove();
calendar.addEvent({ ...newEventData });

// 批量更新事件源
calendar.refetchEvents();

4.5 扩展事件属性与显示
如果需要在事件对象中添加额外的字段并在日历中显示,可以在渲染回调中处理。例如,向事件添加 description 字段并在日历中显示。

eventContent: function(arg) {
  let description = arg.event.extendedProps.description;
  let html = `<div class="fc-event-title">${arg.event.title}</div>`;
  if (description) {
    html += `<div class="fc-event-description">${description}</div>`;
  }
  return { html: html };
}

4.6 动态刷新事件数据
当后端数据变化时,可以调用以下方法刷新日历:

// 重新获取所有事件源的数据
calendar.refetchEvents();

// 移除特定事件
var event = calendar.getEventById('event-id');
event.remove();

// 添加新事件
calendar.addEvent({
  title: '新日程',
  start: '2024-01-20'
});

来源:
http://xcfsr.cn

相关文章
|
8天前
|
人工智能 JSON 供应链
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
LucianaiB分享零成本畅用JVS Claw教程(学生认证享7个月使用权),并开源GeoMind项目——将JVS改造为科研与产业地理情报可视化AI助手,支持飞书文档解析、地理编码与腾讯地图可视化,助力产业关系图谱构建。
23428 9
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
|
17天前
|
缓存 人工智能 自然语言处理
我对比了8个Claude API中转站,踩了不少坑,总结给你
本文是个人开发者耗时1周实测的8大Claude中转平台横向评测,聚焦Claude Code真实体验:以加权均价(¥/M token)、内部汇率、缓存支持、模型真实性及稳定性为核心指标。
6442 25
|
12天前
|
人工智能 缓存 BI
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro,跑完 Skills —— OA 审批、大屏、报表、部署 5 大实战场景后的真实体验 ![](https://oscimg.oschina.net/oscnet/up608d34aeb6bafc47f
4160 13
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
|
13天前
|
人工智能 JSON BI
DeepSeek V4 来了!超越 Claude Sonnet 4.5,赶紧对接 Claude Code 体验一把
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro 的真实体验与避坑记录 本文记录我将 Claude Code 对接 DeepSeek 最新模型(V4Pro)后的真实体验,测试了 Skills 自动化查询和积木报表 AI 建表两个场景——有惊喜,也踩
5005 13
|
29天前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
23238 65
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)