今天给大家介绍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. SQL Server元数据查询

    原文:SQL Server元数据查询 1.查询触发器的信息 --查询触发器的信息 select name, --触发器名称 (select name from sys.objects where ob ...

  2. ffmpeg 播放器原理

    1  播放器过程 线程1 : readPackets-------> audio_packets队列   video packets 队列 线程2: decodeAudio && ...

  3. echarts字体适配

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

  4. ChibiOS/RT移植到STM32F407

    官网地址:http://www.chibios.org/dokuwiki/doku.php 下载源码 找到STM32F407的demos程序(chibios\demos\STM32\RT-STM32F ...

  5. Lwip与底层的接口

    Lwip有三套api,分别是: raw api:使用方法为使用回调函数,即先注册一个函数,当接受到数据之后调用这个函数.缺点是对于数据连续处理不好. Lwip api:把接收与处理放在一个线程里面.因 ...

  6. Bash基础——命令替换

    参考:Linux 下Shell 脚本几种基本命令替换区别 Command substitution 命令替换Command substitution https://www.jb51.net/arti ...

  7. SUSE Ceph RBD Mirror - Storage 6

    Ceph采用的是强一致性同步模型,所有副本都必须完成写操作才算一次写入成功,这就导致不能很好地支持跨域部署,因为如果副本在异地,网络延迟就会很大,拖垮整个集群的写性能.因此,Ceph集群很少有跨域部署 ...

  8. 读书笔记——《redis入门指南(第2版)》第七章 持久化

    7 持久化 在一些情况下,我们会希望Redis 在重启后能够保证数据不丢失,例如: 1·将Redis 作为数据库使用时. 2·将Redis 作为缓存服务器,有可能出现的缓存雪崩会使服务无法响应. 这时 ...

  9. re模块及其用法

    一.re模块下的常用方法 首先在使用re模块之前,需要引入re模块 import re 1.与查找相关的: 1.findall 返回列表,找到所有的匹配项 ret = re.findall(" ...

  10. 【邻接矩阵+基础BFS】PAT-L3-008. 喊山

    L3-008. 喊山 一个山头呼喊的声音可以被临近的山头同时听到.题目假设每个山头最多有两个能听到它的临近山头.给定任意一个发出原始信号的山头,本题请你找出这个信号最远能传达到的地方.[何为最远?大致 ...