适用于微信小程序的日历

git地址

添加插件到自己的小程序

1、在微信小程序管理后台——设置——第三方服务,按 AppID(wx92c68dae5a8bb046)搜索到该插件并申请授权。

2、在要使用该插件的小程序 app.json 文件中引入插件声明。

"plugins": {"calendar": {"version":"1.1.3","provider":"wx92c68dae5a8bb046"}}

3、在需要使用到该插件的小程序页面的 JSON 配置文件中,做以下配置:

{"usingComponents": {"calendar":"plugin://calendar/calendar"}}

4、在相应的 HTML 页面中添加以下语句即可完成插件的嵌入。

5、添加插件后效果如图:

说明:默认的用法,将具备以下样式特点:

显示当前月份的日历;

显示日历标题、显示上下月按钮;

显示周标题,周标题默认为 en 类型,即英文字母;

不显示非当前月的日期;

不显示农历;

插件占据文档流的整块宽度,即 width:100%。

日历属性接口文档

calendar 日历

属性名类型默认值说明

yearNumber当前年份当前公历年份

monthNumber当前月份当前公历月份

dayNumber当前日期当前公历日期

start-dateString日历的起始年份格式为YYYY-MM

end-dateString日历的结束年份格式为YYYY-MM

headerBooleantrue是否显示标题

nextBooleantrue是否显示下个月按钮

prevBooleantrue是否显示上个月按钮

show-more-daysBooleanfalse是否显示非当前月的日期

weeksBooleantrue是否显示周标题

weeks-typeStringen周标题类型

days-colorArray[]设置各日期字体颜色、背景颜色

cell-sizeNumber30设置日期单元格大小

active-typeStringrounded设置日期背景形状

lunarBooleanfalse是否显示农历

注1:日历的起始年月最小为1900-01

注2:日历的结束年月最大为2099-12

注3:日期单元格大小单位为px

weeks-type有效值

值说明

en显示为:S,M,T,W,T,F,S

full-en显示为:Sun, Mon, Tue, Wed, Thu, Fri, Sat

cn显示为:日,一,二,三,四,五,六

active-type有效值

值说明

rounded显示为圆形背景

square显示为方形背景

days-color数组项构成

days-color数组的每一项为一个对象,对象有4个属性,意义如下:

属性名说明

month要标记的日期所属月份,有效值有prev(上个月),current(当前月),next(下个月)

day要标记的日期

color日期文字的颜色,格式为“#HEX”或CSS颜色名

background日期单元格的颜色,格式为“#HEX”或CSS颜色名

日历事件用法

1、监听点击下个月事件:nextMonth

(1)wxml文件

(2)js文件

Page({next:function(event) {console.log(event.detail);  }})

假设当前是2018年4月,点击下个月按钮,在控制台会打印出:

{currentMonth:5,currentYear:2018,prevMonth:4prevYear:2018}

2、监听点击上个月事件:prevMonth

(1)wxml文件

(2)js文件

Page({prev:function(event) {console.log(event.detail);  }})

假设当前是2018年4月,点击上个月按钮,在控制台会打印出:

{currentMonth:3,currentYear:2018,prevMonth:4prevYear:2018}

3、监听点击日历标题日期选择器事件:dateChange

(1)wxml文件

(2)js文件

Page({dateChange:function(event) {console.log(event.detail);  }})

假设当前是2018年4月,选择了2015年7月,在控制台会打印出:

{currentMonth:7,currentYear:2015,prevMonth:4prevYear:2018}

4、监听点击日历具体某一天的事件:dayClick

(1)wxml文件

(2)js文件

Page({dayClick:function(event) {console.log(event.detail);  }})

假设当前是2018年4月,点击了4月4日这一天,在控制台会打印出:

{background:"transparent"color:""#4a4f74""day:4lunarDay:"十九"lunarMonth:"二月"month:4year:2018}

自定义日历样式

1、修改日历背景颜色

组件本身是无背景色(透明)的,calendar-style 样式位于组件的根节点。假设要更改日历的背景色,除了在组件的父级容器设置背景色外,也可以通过该样式类进行配置来达到相应的效果。

以上图为例,想要实现图中的背景效果,在wxml文件里指定 calendar-style 的外部样式类为 calendar:

在wxss文件新增 background-color 属性更改背景颜色等:

.calendar{background-color:#eeedff;padding-top:10px;}

2、修改日历标题样式

header-style样式类位于组件的日历标题。对该组件进行配置,可以改变当前年月,上下月按钮的外观和背景。

在上面例子的基础上,我们在 wxml 文件中新增代码:

在 WXSS 文件中添加 header 样式:

.header{font-size:large;/*修改了标题文字和按钮的大小*/color:#605eac;/*修改了标题文字和按钮的颜色*/}

3、修改日历主面板

board-style 样式类位于日历组件的主面板,包含了周标题和日期部分。对该组件进行配置,可以改变周标题的样式和日期面板的样式。

紧跟上面的例子,我们对 wxml 文件加多一行代码。

在 wxss 文件中新增 board 样式

.board{background-color:#dddcff;color:white;}

效果如下:

你可能感兴趣的:(适用于微信小程序的日历)