200行js原生小程序日历选择组件

20次阅读

共计 921 个字符,预计需要花费 3 分钟才能阅读完成。

???? ????

200 行 js,原生小程序日历选择组件

支持单选、范围选择,支持重置

支持切换月份以及日期快速选择等操作

源码

引入方式

将仓库内的 calendar 文件夹复制到你项目中的 component 目录,随后可在 app.json 或组件的 json 中按如下引入:

"usingComponents": {"calendar": "path_to_calendar"}

文件复制并在 json 引入后可在任意页面 wxml 渲染组件:

<calendar></calendar>

文件复制到你项目内便具备高度可定义性,因此没必要开放细节样式的接口,如果样式不符合项目要求,可直接修改 calendar.wxss 内的所有样式。避免样式污染,默认组件不共享全局样式。

同理 js 也具备自定义,可以随意按项目需求进行更改。

基本 API

务必遵循组件日期参数格式:yyyy-mm-dd,避免出现不可预料的 bug

日历组件具备以下 api:

属性

参数 说明 类型 默认值 必填
defaultSelectDate 默认选中的日期 String 当天时间
showToday 是否在日历凸显当天(下划线) Boolean true
mode 日历模式,传入 ’range’ 时为范围选择 String

事件

参数 说明 回调类型【参数值】 ⚠️ 注意
onPickDateChange 左上角日期选择事件 String【选择的日期(yyyy-mm-dd)】
onControl 上下月份和重置按钮点击事件 Object【mode:’next’ 或 ’reset’ 或 ‘pre’,newDate:选择的日期(yyyy-mm-dd)】
onPickDay 点选日期事件 Object【date:选择的日期(yyyy-mm-dd);dateNumber:几号;position:‘pre-month'(上个月)或 ”(当月)或 ’next-month’(下个月);week:星期(1~7 – 周一~周日)】 回调事件仅在 mode 为空时才触发
onRangePick 选择的日期范围 Array【选择起始日期数据(yyyy-mm-dd)】 回调事件仅在 mode 为 range 时才触发

工具预览

点击此处开发工具在线预览

问题反馈

???? 欢迎提交相关问题的 issue,我可以尽快进行修复处理。

正文完
 0