在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 相关文章推荐
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
Apr 04 Javascript
分享27个jQuery 表单插件集合推荐
Apr 25 Javascript
JavaScript中神奇的call()方法
Mar 12 Javascript
深入剖析JavaScript中的函数currying柯里化
Apr 29 Javascript
jQuery插件制作的实例教程
May 16 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
Oct 19 Javascript
AngularJS改变元素显示状态
Apr 20 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
May 17 Javascript
最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
Aug 16 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
Mar 26 Javascript
webpack4.x CommonJS模块化浅析
Nov 09 Javascript
react合成事件与原生事件的相关理解
May 13 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来处理多个提交任务
2006/10/09 PHP
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
2009/06/08 PHP
PHP分页函数代码(简单实用型)
2010/12/02 PHP
PHP学习笔记之数组篇
2011/06/28 PHP
php实现utf-8转unicode函数分享
2015/01/06 PHP
javascript打印输出json实例
2013/11/11 Javascript
含有CKEditor的表单如何提交
2014/01/09 Javascript
把jQuery的类、插件封装成seajs的模块的方法
2014/03/12 Javascript
判断在css加载完毕后执行后续代码示例
2014/09/03 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
JS操作COOKIE实现备忘记录的方法
2016/04/01 Javascript
BootStrap的Datepicker控件使用心得分享
2016/05/25 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
2016/08/02 Javascript
基于jQuery实现中英文切换导航条效果
2016/09/18 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
JavaScript常用数组操作方法,包含ES6方法
2020/05/10 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
2018/12/11 jQuery
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
微信小程序去除左上角返回键的实现方法
2020/03/06 Javascript
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
python将MongoDB里的ObjectId转换为时间戳的方法
2015/03/13 Python
Python的__builtin__模块中的一些要点知识
2015/05/02 Python
python二分查找算法的递归实现方法
2016/05/12 Python
python 截取 取出一部分的字符串方法
2017/03/01 Python
ubuntu环境下python虚拟环境的安装过程
2018/01/07 Python
canvas实现扭蛋机动画效果的示例代码
2018/10/17 HTML / CSS
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
匡威爱尔兰官网:Converse爱尔兰
2019/06/09 全球购物
如何写一份好的自荐信
2014/01/02 职场文书
电气工程及其自动化专业毕业生自荐信
2014/06/21 职场文书
原告代理词范文
2015/05/25 职场文书
2015年图书馆个人工作总结
2015/05/26 职场文书
go语言基础 seek光标位置os包的使用
2021/05/09 Golang
MySQL Server 层四个日志
2022/03/31 MySQL
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android