今天给大家介绍Vue的日历组件,可自定义样式、日历类型及支持扩展,可自定义事件回调、Props数据传输。

线上demo效果

示例

Template:

    <Calendar
:sundayStart="true"
:calendarType="1"
:markDate="markDate"
:markDateClass="markDateClass"
:agoDayPrevent="agoDayPrevent"
:futureDayPrevent="futureDayPrevent"
@choseDay="choseDay"
@changeMonth="changeMonth">
</Calendar>

script:

  data() {
return{
calendarClass: 'cal_common',
chooseDate: '',
showCalendar: 1,
markDate: ['2019/02/13','2019/02/22'],
markDateClass: [
{date:'2019/02/20',className:"mark1"},
{date:'2018/02/21',className:"mark2"}
],
agoDayPrevent: '1549728000',
futureDayPrevent: '2551024000',
}
},
methods: {
choseDay(date) {
this.chooseDate = date
},
toggleCal(type) {
this.showCalendar = type
},
changeMonth(date) {
console.log('changeMonth'+date)
}
}

Api

Props属性

  • markDateArray/[]  需要标记的日期
  • markDateClassArray/[]  定义标记的日期及className
  • sundayStartBoolean/true  是否以星期天开始
  • agoDayPreventString/0  某个日期前不允许点击(10时间戳)
  • futureDayPreventString/2554387200  某个日期后不允许点击
  • calendarClassString/''  日历盒子的class
  • calendarTypeNumber/1  日历类型:1--默认;2--简易

watch观察

用来观察父组件Props传值变化,动态更新子组件

  • agoDayPrevent: function(val,oldVal) {/*重绘日历*/}
  • futureDayPrevent: function(val,oldVal){/*重绘日历*/}

Event回调

  • @choseDay(date)  选择日期执行
  • @changeMonth(date)  切换月份执行

data数据

  • textTop  日历头部星期排列
  • dateTop  日历顶部显示的当前年月
  • newList  当前月份需要显示的天数集合

Vue自定义日历组件的更多相关文章

  1. vue自定义日历组件的实现

    实现一个日期组件,如图: components.js代码如下: Vue.component('sc-calendar',{ template:'<div class="scCalend ...

  2. vue 自定义日历组件

    <template> <div class=""> <div class="calendarTraffic" name=" ...

  3. 使用ant design vue的日历组件,实现一个简单交易日与非交易日的切换

    使用ant design vue的日历组件,实现一个简单交易日与非交易日的切换 需求: 日历区分交易日.非交易日 可以切换面板查看整年交易日信息 可以在手动调整交易日.非交易日 演示实例 序--使用软 ...

  4. vue自定义全局组件(自定义插件)

    有时候我们在做开发的时候,就想自己写一个插件然后就可以使用自己的插件,那种成就感很强.博主最近研究element-ui和axios的时候,发现他们是自定义组件,但是唯一有一点不同的是,在用elemen ...

  5. 一个vue的日历组件

    说明: 1.基于element-ui开发的vue日历组件. 地址 更新: 1.增加value-format指定返回值的格式2.增加头部插槽自定义头部 <ele-calendar > < ...

  6. vue初学实践之路——vue简单日历组件(1)

    ---恢复内容开始--- 最近做的项目有一个需求,需要有一个日历组件供预定功能使用,之前的代码过于繁琐复杂,所以我采用vue重写了这个组件. npm.vue等等安装. 只是一个简单的日历组件,所以并不 ...

  7. vue 自定义报警组件

    1.自定义报警组件 Alarm.vue <!-- 报警 组件 --> <template> <div class="alarm"> <!- ...

  8. vue自定义select组件

    1.目的 看了很多element-ui的源码,决定自己实现一个简单的select组件,遇到的几个难点,便记录下来. 2.难点一 element-ui中的select组件通过v-model可以绑定数据, ...

  9. vue 自定义分页组件

    vue2.5自定义分页组件,可设置每页显示条数,带跳转框直接跳转到相应页面 Pagination.vue 效果如下图: all: small(只显示数字和上一页和下一页): html <temp ...

随机推荐

  1. SVN_03绿色版

    1.首先备份当前安装visualSVN文件的bin目录,万一出错还能反个水.一般默认安装路径是C:\Program Files(x86)VisualSVN\bin 2.然后运行ildasm,Windo ...

  2. entity-framework-core – 实体框架核心RC2表名称复数

    参考地址:https://docs.microsoft.com/zh-cn/ef/core/modeling/relational/tables http://www.voidcn.com/artic ...

  3. Spark机器学习基础-无监督学习

    0.K-means from __future__ import print_function from pyspark.ml.clustering import KMeans#硬聚类 #from p ...

  4. java开发中常用语(词汇)含义

    DAO:Data Access Objects(数据存取对象): DTO:Data Transfer Object: AR:active record:

  5. 拦截器中获取不到controller注解问题

    刚刚在测试接口的时候发现一个奇怪的问题:通过拦截器获取 controller 类注解,有些能获取到,有些又不能获取到,见鬼了. [环境]: 1. springboot :2.2.0.RELEASE [ ...

  6. iOS - 外包开发常用第三方库(1)

    一:第三方插件1:基于响应式编程思想的oc地址:https://github.com/ReactiveCocoa/ReactiveCocoa2:hud提示框地址:https://github.com/ ...

  7. echarts字体适配

    var html = document.getElementsByTagName("html")[0]; var width = html.clientWidth; var too ...

  8. 在iframe内页触发顶层页面body的blur事件

    //在iframe内页触发顶层页面body的blur事件. if (window != top) { $(document.body).click(function () { $(top.docume ...

  9. bootstrap tab选项卡

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. 配置java环境遇到的问题及解决方案

    第一个问题: 安装SDK过程中有过报错,就要注意文件是否齐全,我看了下sdk文件夹下的platforms里面是空的.打开sdk里面的SDK Manager.exe,勾选一个安卓版本进行下载即可. 第二 ...