在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 设置 CSS 属性示例介绍
Jan 16 Javascript
jquery实现通用版鼠标经过淡入淡出效果
Jun 15 Javascript
JS实现一个列表中包含上移下移删除等功能
Sep 24 Javascript
javascript+css3 实现动态按钮菜单特效
Feb 06 Javascript
bootstrap基础知识学习笔记
Nov 02 Javascript
浅谈jquery拼接字符串效率比较高的方法
Feb 22 Javascript
js中bool值的转换及“&amp;&amp;”、“||”、 “!!”详解
Dec 21 Javascript
如何使用puppet替换文件中的string
Dec 06 Javascript
聊聊Vue中provide/inject的应用详解
Nov 10 Javascript
基于vue+echarts 数据可视化大屏展示的方法示例
Mar 09 Javascript
vue中的计算属性和侦听属性
Nov 06 Javascript
Js数组扁平化实现方法代码总汇
Nov 11 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下过滤html代码的函数 提高程序安全性
2010/03/02 PHP
CI框架中集成CKEditor编辑器的教程
2014/06/09 PHP
jQuery的一些注意
2006/12/06 Javascript
js的.innerHTML = &quot;&quot;IE9下显示有错误的解决方法
2013/09/16 Javascript
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
JavaScript电子时钟倒计时
2016/01/09 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
javascript实现可键盘控制的抽奖系统
2016/03/10 Javascript
基于Bootstrap重置输入框内容按钮插件
2016/05/12 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
简单的JS轮播图代码
2016/07/18 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
2017/04/12 Javascript
Angular.JS中的this指向详解
2017/05/17 Javascript
JQuery实现table中tr上移下移的示例(超简单)
2018/01/08 jQuery
create-react-app构建项目慢的解决方法
2018/03/14 Javascript
详解vue-cli 本地开发mock数据使用方法
2018/05/29 Javascript
vue利用v-for嵌套输出多层对象,分别输出到个表的方法
2018/09/07 Javascript
vue实现路由监听和参数监听
2019/10/29 Javascript
echarts实现折线图的拖拽效果
2019/12/19 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
Python二维码生成库qrcode安装和使用示例
2014/12/16 Python
Python爬虫模拟登录带验证码网站
2016/01/22 Python
实现python版本的按任意键继续/退出
2016/09/26 Python
Python获取当前路径实现代码
2017/05/08 Python
python sorted函数的小练习及解答
2019/09/18 Python
python 实现视频 图像帧提取
2019/12/10 Python
python定义类的简单用法
2020/07/24 Python
python生成word合同的实例方法
2021/01/12 Python
python利用后缀表达式实现计算器功能
2021/02/22 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
小学生自我评价范例
2013/09/24 职场文书
上课迟到检讨书100字
2014/01/11 职场文书
群众路线查摆问题及整改措施
2014/10/10 职场文书
高中诗歌鉴赏教学反思
2016/02/16 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书