在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 相关文章推荐
IE8 原生JSON支持
Apr 13 Javascript
向大师们学习Javascript(视频与PPT)
Dec 27 Javascript
js下拉菜单语言选项简单实现
Sep 23 Javascript
弹出最简单的模式化遮罩层的js代码
Dec 04 Javascript
使用js dom和jquery分别实现简单增删改
Sep 11 Javascript
JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
Jan 13 Javascript
jQuery实现页面滚动时动态加载内容的方法
Mar 20 Javascript
JavaScript中关联原型链属性特性
Feb 13 Javascript
详解微信小程序 相对定位和绝对定位
May 11 Javascript
详解在 Angular 项目中添加 clean-blog 模板
Jul 04 Javascript
浅谈Vue页面级缓存解决方案feb-alive(上)
Apr 14 Javascript
vue3自定义dialog、modal组件的方法
Jan 04 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
php正则
2006/07/07 PHP
用PHP制作静态网站的模板框架(四)
2006/10/09 PHP
PHP 字符截取 解决中文的截取问题,不用mb系列
2009/09/29 PHP
Yii使用CLinkPager分页实例详解
2014/07/23 PHP
[原创]php逐行读取txt文件写入数组的方法
2015/07/02 PHP
jQuery 解析xml文件
2009/08/09 Javascript
jquery中this的使用说明
2010/09/06 Javascript
js取滚动条的尺寸的函数代码
2011/11/30 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
JS小功能(onmouseover实现选择月份)实例代码
2013/11/28 Javascript
浅谈javascript中的闭包
2015/05/13 Javascript
JS实现文档加载完成后执行代码
2015/07/09 Javascript
基于socket.io+express实现多房间聊天
2016/03/17 Javascript
JavaScript中的splice方法用法详解
2016/07/20 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
JavaScript实现读取与输出XML文件数据的方法示例
2018/06/05 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转
2019/11/25 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
Python数组遍历的简单实现方法小结
2016/04/27 Python
详解Python中的正则表达式
2018/07/08 Python
使用Selenium破解新浪微博的四宫格验证码
2018/10/19 Python
python实现词法分析器
2019/01/31 Python
python3人脸识别的两种方法
2019/04/25 Python
python pandas生成时间列表
2019/06/29 Python
200行python代码实现2048游戏
2019/07/17 Python
python3 map函数和filter函数详解
2019/08/26 Python
python已协程方式处理任务实现过程
2019/12/27 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
Python json转字典字符方法实例解析
2020/04/13 Python
Django实现前台上传并显示图片功能
2020/05/29 Python
python中pivot()函数基础知识点
2021/01/03 Python
一家专门做特卖的网站:唯品会
2016/10/09 全球购物
美国在线购物频道:Shop LC
2019/04/21 全球购物
2015年小学校长工作总结
2015/05/19 职场文书