vlambda博客
学习文章列表

vue-calendar基于vue的日历插件

vue-calendar-component

  • 基于 vue 2.0 开发的轻量,高性能日历组件

  • 占用内存小,性能好,样式好看,可扩展性强

  • 原生 js 开发,没引入第三方库

效果

Install

 
  1. npm i vue-calendar-component --save

  2. cnpm i vue-calendar-component --save //国内镜像

  • 1

  • 2

Usage

 
  1. //vue文件中引入

  2. import Calendar from 'vue-calendar-component';

  3.  

  4. components: {

  5. Calendar

  6. }

  7. <Calendar

  8. v-on:choseDay="clickDay"

  9. v-on:changeMonth="changeDate"

  10. // v-on:isToday="clickToday"

  11. // :markDate=arr // arr=['2018/4/1','2018/4/3'] 标记4月1日和4月3日 简单标记

  12. //:markDateMore=arr // 多种不同的标记

  13. //第一个标记和第二个标记不能同时使用

  14. // :agoDayHide='1514937600' //某个日期以前的不允许点击 时间戳10位

  15. // :futureDayHide='1525104000' //某个日期以后的不允许点击 时间戳10位

  16. // :sundayStart="true" //默认是周一开始 当是true的时候 是周日开始

  17. ></Calendar>

  18.  

  19. clickDay(data) {

  20. console.log(data); //选中某天

  21. },

  22. changeDate(data) {

  23. console.log(data); //左右点击切换月份

  24. },

  25. clickToday(data) {

  26. console.log(data); //跳到了本月

  27. }

  28.  

  29. // 多个标记示例

  30. arr=[{date:'2018/4/1',className:"mark1"}, {date:'2018/4/13',className:"mark2"}];

  31. //4月1 标记的className是mark1 根据class做出一些标记样式

  •  

API

遇到错误—

  • 遇到提示UglifyJs打包编译错误。因为当前版本UglifyJs不知道编译es6

解决方法

  1. npm install --save-dev babel-preset-env

  2. //然后在根目录创建一个 .babelrc 文件

  3. //在输入,

  4. {

  5. "presets": ["env"]

  6. }

  7. //保存 重新build就OK了

附:(很好的一个插件,但是按照流程来不生效,一直报错。解决办法:将安装的在node_modules下组建自己提取出来重新封装下组件使用)