在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 相关文章推荐
根据分辩率调用不同的CSS.
Jan 08 Javascript
避免 showModalDialog 弹出新窗体的原因分析
May 31 Javascript
优化innerHTML操作(提高代码执行效率)
Aug 20 Javascript
JSON相关知识汇总
Jul 03 Javascript
JS防止网页被嵌入iframe框架的方法分析
Sep 13 Javascript
详解React开发中使用require.ensure()按需加载ES6组件
May 12 Javascript
基于Vue.js实现tab滑块效果
Jul 23 Javascript
react.js使用webpack搭配环境的入门教程
Aug 14 Javascript
js Date()日期函数浏览器兼容问题解决方法
Sep 12 Javascript
vue.js实现简单轮播图效果
Oct 10 Javascript
vue实现中部导航栏布局功能
Jul 30 Javascript
详解Vue2的diff算法
Jan 06 Vue.js
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
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
Laravel框架Auth用户认证操作实例分析
2019/09/29 PHP
如何让动态插入的javascript脚本代码跑起来。
2007/01/09 Javascript
JS 进度条效果实现代码整理
2011/05/21 Javascript
Position属性之relative用法
2015/12/14 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
Vue.js实战之通过监听滚动事件实现动态锚点
2017/04/04 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
2017/05/17 Javascript
移动端手指放大缩小插件与js源码
2017/05/22 Javascript
vue2.0 根据状态值进行样式的改变展示方法
2018/03/13 Javascript
JS的Ajax与后端交互数据的实例
2018/08/08 Javascript
js实现图片跟随鼠标移动效果
2019/10/16 Javascript
vue实现短信验证码登录功能(流程详解)
2019/12/10 Javascript
jQuery实现异步上传一个或多个文件
2020/08/17 jQuery
JS实现可以用键盘方向键控制的动画
2020/12/11 Javascript
详解React中共享组件逻辑的三种方式
2021/02/02 Javascript
[15:56]Heroes18_暗影萨满(完美)
2014/10/31 DOTA
[47:42]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
在Windows8上的搭建Python和Django环境
2014/07/03 Python
Python标准库与第三方库详解
2014/07/22 Python
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
详解Django的model查询操作与查询性能优化
2018/10/16 Python
python实现简单的文字识别
2018/11/27 Python
python如何实现异步调用函数执行
2019/07/08 Python
python打印n位数“水仙花数”(实例代码)
2019/12/25 Python
CSS3 :default伪类选择器使用简介
2018/03/15 HTML / CSS
Philosophy美国官网:美国美容品牌
2016/08/15 全球购物
加拿大著名的奢侈品购物网站:SSENSE(支持中文)
2020/06/25 全球购物
党员先锋岗事迹材料
2014/05/08 职场文书
奥巴马胜选演讲稿
2014/05/15 职场文书
捐书倡议书
2014/08/29 职场文书
学生会感恩节活动方案
2014/10/11 职场文书
团代会开幕词
2015/01/28 职场文书
Python数据分析之绘图和可视化详解
2021/06/02 Python
Python代码风格与编程习惯重要吗?
2021/06/03 Python