在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 相关文章推荐
JavaScript中判断对象类型的几种方法总结
Nov 11 Javascript
js ajaxfileupload.js上传报错的解决方法
May 05 Javascript
jQuery插件pagination实现无刷新分页
May 21 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
Dec 15 Javascript
js实现百度搜索提示框
Feb 05 Javascript
AngularJS中的promise用法分析
May 19 Javascript
微信JS SDK接入的几点注意事项(必看篇)
Jun 23 Javascript
Three.js如何实现雾化效果示例代码
Sep 27 Javascript
分享ES6的7个实用技巧
Jan 18 Javascript
微信小程序实现可长按移动控件
Nov 01 Javascript
原生JS中应该禁止出现的写法
May 05 Javascript
js 实现Material UI点击涟漪效果示例
Sep 23 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
什么是短波收听SWL
2021/03/01 无线电
php中模拟POST传递数据的两种方法分享
2011/09/16 PHP
Php中文件下载功能实现超详细流程分析
2012/06/13 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
2012/10/29 PHP
PHP使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
PHP单例模式模拟Java Bean实现方法示例
2018/12/07 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
使用Firebug对js进行断点调试的图文方法
2011/04/02 Javascript
IE6、IE7中获取Button元素的值的bug说明
2011/08/28 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
javascipt基础内容--需要注意的细节
2013/04/10 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
javascript中$(function() {});写与不写有哪些区别
2015/08/10 Javascript
在线引用最新jquery文件的实现方法
2016/08/26 Javascript
清除js缓存的多种方法总结
2016/12/09 Javascript
jQuery实现文章图片弹出放大效果
2017/04/06 jQuery
一篇看懂vuejs的状态管理神器 vuex状态管理模式
2017/04/20 Javascript
Vue制作Todo List网页
2017/04/26 Javascript
详解React开发中使用require.ensure()按需加载ES6组件
2017/05/12 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
2017/12/27 Javascript
详解使用React进行组件库开发
2018/02/06 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
2020/01/04 Javascript
Vue.js使用axios动态获取response里的data数据操作
2020/09/08 Javascript
python通过post提交数据的方法
2015/05/06 Python
python实现简单点对点(p2p)聊天
2017/09/13 Python
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
将Django项目部署到CentOs服务器中
2018/10/18 Python
Python csv模块使用方法代码实例
2019/08/29 Python
详解python 支持向量机(SVM)算法
2020/09/18 Python
全世界最美丽的四星和五星级酒店预订:Prestigia.com
2017/11/15 全球购物
解除劳动关系协议书2篇
2014/11/28 职场文书
活动经费申请报告
2015/05/15 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
关于Numpy之repeat、tile的用法总结
2021/06/02 Python
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android