Skip to content

微信小程序日历组件,左右滑动,支持自定义,懒加载且不重复加载,提高性能

Notifications You must be signed in to change notification settings

bytemo/Calendar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Calendar

微信小程序日历组件,支持自定义,懒加载且不重复加载,提高性能。

最近在做一个项目用到了日历组件,但是没找到好用的,于是自己造了个轮子,既然都造了,就厚着脸皮分享出来给大家。欢迎交流!

效果图

组件效果图

该组件可以在一定范围内自定义,包括当天颜色、选中颜色、时间段颜色、背景颜色等。详细用法见下方。

使用方法

导入组件到项目

在 Release 页面下载打包好的 zip 文件,解压后得到 calendar 文件夹,放入项目中。然后在全局配置文件或者要引用本组件的页面配置文件中进行如下配置:

// 页面配置文件
{
  "usingComponents": {
    "calendar":"项目中组件的路径"
  }
}

组件属性

属性 类型 默认值 必填 说明
date String 当前选中的日期,不填则默认为今天
topbar-bg-color String #1E90FF 顶部栏的背景颜色
bg-color String #F8F8F8 顶部栏以下日期表的背景颜色
today-color String #1E90FF 当“今天”被选中时的背景颜色,以及今天下方的标记点的颜色
mark-color String #E54D42 日子下方标记点的颜色
period-color String #F37B1D 日期段的背景颜色
periods Array 日期段,为数组,数组内的元素为 [‘2020-02-18’, ‘2020-02-20’]格式(即首尾日期)的数组(即外层数组套内层数组,内层数组可以多个,指定多段日期)。
markdays Array 数组,指明哪些日子被打上标记

组件事件

事件 功能 说明
binddatechange 当前选中的日期被改变 返回当前选中的日期,格式为 ‘2020-02-18’
bindrenderfinish 第一次渲染完成 返回当前选中的日期,格式同上
bindnewmonthload 加载了新的月份数据 返回所加载的月份数据,为一个数组,包括整个月的数据,数组元素的格式同上

后记

更新日志

  • 2020-02-18

    A 第一次版本发布

个人自认编程水平不是很高,虽然在过程中有意通过各种方式提高组件的扩展性、不进行不必要的加载和渲染来提高渲染性能,保持了较高的维护性。但难免会存在各种问题,欢迎相互指教交流。

注:组件使用了 Color UI 组件库的样式,但做了一定的抽取,使得引入本组件的项目不依赖于 Color UI 组件库。特此致谢。

About

微信小程序日历组件,左右滑动,支持自定义,懒加载且不重复加载,提高性能

Resources

Stars

Watchers

Forks

Packages

No packages published