在Vue项目中用fullcalendar制作日程表的示例代码


Posted in Javascript onAugust 04, 2019

前言

最近老牌日历插件fullcalendar更新了v4版本,而且添加了Vue支持,所以用最新的fullcalendar v4制作一个完整日历体验一下,效果图:

在Vue项目中用fullcalendar制作日程表的示例代码

安装

FullCalendar的功能被分解为“插件”。如果您需要它提供的功能,您只需要包含一个插件。

也就是说,FullCalendar v4所有插件都得单独安装引用。

npm install --save @fullcalendar/vue @fullcalendar/core @fullcalendar/daygrid

引用并初始化

引用、注册FullCalendar组件,得到一个月视图的日历。

<script>
import FullCalendar from '@fullcalendar/vue'
import dayGridPlugin from '@fullcalendar/daygrid'

export default {
 components: {
  FullCalendar
 },
 data() {
  return {
   calendarPlugins: [ dayGridPlugin ]
  }
 }
}

</script>
<template>
 <FullCalendar defaultView="dayGridMonth" :plugins="calendarPlugins" />
</template>
<style lang='less'>
  //用什么插件必须引入相应的样式表,否则不能正常显示
  @import '~@fullcalendar/core/main.css';
  @import '~@fullcalendar/daygrid/main.css';
</style>

功能定制

为了完成复杂功能,需要引用更多插件,插件列表:

https://fullcalendar.io/docs/plugin-index

语言设置简体中文

<FullCalendar locale="zh-cn" />

如果表头加了button的话,button文字要单独做处理,给每个button的英文名称加一个中文的映射,例:

<FullCalendar
   :header="{
    left: 'prev,next today',
    center: 'title',
    right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
   }"
   :buttonText="buttonText" 
   />
data () {
  return {
   buttonText: {
    today: '今天',
    month: '月',
    week: '周',
    day: '天'
   }
  }
 }

点击日历添加事件

想要触发dateClick事件必须先安装引用interaction插件,文档链接:https://fullcalendar.io/docs/dateClick

npm install --save @fullcalendar/interaction

<FullCalendar @dateClick="handleDateClick" />
handleDateClick (arg) {
   if (confirm('Would you like to add an event to ' + arg.dateStr + ' ?')) {
    this.calendarEvents.push({ // add new event data
     title: 'New Event',
     start: arg.date,
     allDay: arg.allDay
    })
   }
  }

点击事件查看详情

<FullCalendar @eventClick="handleEventClick" />
handleEventClick (info) {
   alert('Event: ' + info.event.title)
  }

完整例子在我的github项目里,项目地址:https://github.com/Inspiration1/asteroid

官方文档:

https://fullcalendar.io/docs/vue

https://fullcalendar.io/docs#toc

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS模拟多线程
Feb 07 Javascript
ie和firefox不兼容的解决方法集合
Apr 28 Javascript
Javascript表达式中连续的 &amp;&amp; 和 || 之赋值区别
Oct 17 Javascript
基于jquery实现的表格分页实现代码
Jun 21 Javascript
一个封装js代码-----展开收起效果示例
Jul 03 Javascript
jQuery实现按钮的点击 全选/反选 单选框/复选框 文本框 表单验证
Jun 25 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
Nov 24 Javascript
详解JavaScript正则表达式之分组匹配及反向引用
Mar 09 Javascript
关于JSON与JSONP简单总结
Aug 16 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
Mar 09 Javascript
用vue封装插件并发布到npm的方法步骤
Oct 18 Javascript
vue学习笔记之slot插槽基本用法实例分析
Feb 01 Javascript
JS实现的tab切换并显示相应内容模块功能示例
Aug 03 #Javascript
原生JS 实现的input输入时表格过滤操作示例
Aug 03 #Javascript
vue.js基于v-for实现批量渲染 Json数组对象列表数据示例
Aug 03 #Javascript
vue.js实现数据库的JSON数据输出渲染到html页面功能示例
Aug 03 #Javascript
jQuery实现的记住帐号密码功能完整示例
Aug 03 #jQuery
小程序中英文混合排序问题解决
Aug 02 #Javascript
详解JWT token心得与使用实例
Aug 02 #Javascript
You might like
PHP实现全角字符转为半角方法汇总
2015/07/09 PHP
YII Framework框架教程之国际化实现方法
2016/03/14 PHP
Yii2 GridView实现列表页直接修改数据的方法
2016/05/16 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
KindEditor在php环境下上传图片功能集成的方法示例
2020/07/20 PHP
JQUERY CHECKBOX全选,取消全选,反选方法三
2008/08/30 Javascript
js修改地址栏URL参数解决url参数问题
2012/12/15 Javascript
快速查找数组中的某个元素并返回下标示例
2013/09/03 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
javascript动态修改Li节点值的方法
2015/01/20 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
Jquery实现鼠标移动放大图片功能实例
2015/03/25 Javascript
js实现3d悬浮效果
2017/02/16 Javascript
validationEngine 表单验证插件使用实例代码
2017/06/15 Javascript
第一个Vue插件从封装到发布
2017/11/22 Javascript
vue项目中vue-i18n和element-ui国际化开发实现过程
2018/04/25 Javascript
微信小程序实现签到功能
2018/10/31 Javascript
layDate日期控件使用方法详解
2018/11/15 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
带你使用webpack快速构建web项目的方法
2020/11/12 Javascript
Python tempfile模块学习笔记(临时文件)
2014/05/25 Python
Python中的装饰器用法详解
2015/01/14 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
django基础学习之send_mail功能
2019/08/07 Python
YUV转为jpg图像的实现
2019/12/09 Python
pytorch方法测试——激活函数(ReLU)详解
2020/01/15 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
美国领先的医疗警报服务:Philips Lifeline
2018/03/12 全球购物
高三学习决心书
2014/03/11 职场文书
《大海那边》教学反思
2014/04/09 职场文书
高中班主任心得体会
2016/01/07 职场文书
2016高中社会实践心得体会范文
2016/01/14 职场文书
SQLServer 日期函数大全(小结)
2021/04/08 SQL Server
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL