在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 prototype截取字符串函数
Apr 01 Javascript
jQuery实现公告文字左右滚动的实例代码
Oct 29 Javascript
js菜单点击显示或隐藏效果的简单实例
Jan 13 Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
Oct 08 Javascript
jQuery中end()方法用法实例
Jan 08 Javascript
jQuery菜单插件superfish使用指南
Apr 21 Javascript
JavaScript验证Email(3种方法)
Sep 21 Javascript
js enter键激发事件实例代码
Aug 17 Javascript
Vue2实现组件props双向绑定
Dec 02 Javascript
js实现点击切换checkbox背景图片的简单实例
May 08 Javascript
深入浅析Vue不同场景下组件间的数据交流
Aug 15 Javascript
js封装成插件_Canvas统计图插件编写实例
Sep 12 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
建立动态的WML站点(三)
2006/10/09 PHP
Javascript String对象扩展HTML编码和解码的方法
2009/06/02 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
jquery弹出框插件jquery.ui.dialog用法分析
2016/08/20 Javascript
json定义及jquery操作json的方法
2016/10/03 Javascript
bootstrap datetimepicker2.3.11时间插件使用
2016/11/19 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
2016/12/07 Javascript
JS实现快递单打印功能【推荐】
2018/06/21 Javascript
js实现敏感词过滤算法及实现逻辑
2018/07/24 Javascript
vue组件挂载到全局方法的示例代码
2018/08/02 Javascript
微信小程序实现form表单本地储存数据
2019/06/27 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
layui清除radio的选中状态实例
2019/11/14 Javascript
JavaScript实现4位随机验证码的生成
2021/01/28 Javascript
python中cPickle用法例子分享
2014/01/03 Python
python 解析XML python模块xml.dom解析xml实例代码
2014/02/07 Python
Python自动调用IE打开某个网站的方法
2015/06/03 Python
Python删除windows垃圾文件的方法
2015/07/14 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
python多进程(加入进程池)操作常见案例
2019/10/21 Python
python编写计算器功能
2019/10/25 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
在ipython notebook中使用argparse方式
2020/04/20 Python
Python 爬虫的原理
2020/07/30 Python
Python使用pickle进行序列化和反序列化的示例代码
2020/09/22 Python
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
2016/03/14 HTML / CSS
HTML5 中新的全局属性(整理)
2013/07/31 HTML / CSS
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
Lookfantastic葡萄牙官方网站:欧洲第一大化妆品零售商
2018/03/17 全球购物
Moda Operandi官网:美国奢侈品电商,海淘秀场T台同款
2020/05/26 全球购物
护理专科自荐书范文
2014/02/18 职场文书
给小学生的新年寄语
2014/04/04 职场文书
道歉信范文
2015/05/12 职场文书
微信小程序基础教程之echart的使用
2021/06/01 Javascript
使用php的mail()函数实现发送邮件功能
2021/06/03 PHP