UNPKG

@lspriv/wc-plugin-multiple

Version:

小程序日历组件多选插件

118 lines (99 loc) 3.22 kB
## Wx Calendar Plugin For MultiSelector ![NPM Version](https://img.shields.io/npm/v/@lspriv/wc-plugin-multiple) ![Static Badge](https://img.shields.io/badge/coverage-later-a9a9a9) ![GitHub License](https://img.shields.io/github/license/lspriv/wc-plugin-multiple) 小程序日历 [`wx-calendar`](https://github.com/lspriv/wx-calendar) 多选插件 [![pktvhAU.png](https://s21.ax1x.com/2024/06/08/pktvhAU.png)](https://imgse.com/i/pktvhAU) ### 使用 - 小程序基础库 `SDKVersion` >= 3.0.0 - 日历组件 [`wx-calendar`](https://github.com/lspriv/wx-calendar) >= 1.7.0 #### 安装 ```bash npm i @lspriv/wc-plugin-multiple -S ``` #### 构建 微信小程序开发工具菜单栏:`工具` --> `构建 npm` [*官方文档*](https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html#_2-%E6%9E%84%E5%BB%BA-npm) #### 页面使用 ```html <calendar id="calendar" bindchange="handleChange" /> ``` ```javascript const { WxCalendar } = require('@lspriv/wx-calendar/lib'); const { MultiPlugin, MULTI_PLUGIN_KEY } = require('@lspriv/wc-plugin-multiple'); WxCalendar.use(MultiPlugin, { ... // 见插件选项,也可以不传选项,使用默认选项 }); Page({ handleCalendarLoad() { const calendar = this.selectComponent('#calendar'); const multiSelector = calendar.getPlugin(MULTI_PLUGIN_KEY); multiSelector.select([ { year: 2024, month: 6, day: 3 }, { year: 2024, month: 6, day: 28 } ]); }, handleChange(e) { const { checked } = e; // 选中的日期 console.log('checked', checked); } }) ``` ### 插件选项 <table> <tr> <th>选项</th> <th>类型</th> <th>说明</th> <th>默认值</th> </tr> <tr> <td>type</td> <td>'range' | 'multi'</td> <td>范围选择/多点选择</td> <td>range</td> </tr> <tr> <td>bgColor</td> <td>{ light: string; dark: string; }</td> <td>选中背景色</td> <td>{ light: '#409EFF', dark: '#409EFF' }</td> </tr> <tr> <td>textColor</td> <td>{ light: string; dark: string; }</td> <td>选中字体色</td> <td>{ light: '#FFF', dark: '#E5E5E5' }</td> </tr> <tr> <td>borderRadius</td> <td>number</td> <td>选中背景圆角(单位rpx)</td> <td>50</td> </tr> </table> ### 触发事件 [***`bindchange`***](#bindchange) 日期选中变化 ```typescript type ChangeEventDetail = { checked: Array<CalenderDay>; // 当前选中日期 validDates: Array<CalenderDay | [start: CalenderDay, end: CalenderDay]>; // 有效日期,是由单个有效日期和日期有效范围组成的数组 } ``` ### 方法 [***`select`***](#select) 选择日期 ```typescript { /** * @param dates 选中日期,范围选择下如 [start, end] 格式 * @param clear 是否清除原有选中日期,多点选择模式下有效,默认 false */ (dates: Array<CalendarDay>, clear?: boolean): void; } ``` ### 关于 > 有任何问题或是需求请到 `Issues` 面板提交 > 忙的时候还请见谅 > 有兴趣开发维护的道友加微信 ![wx_qr](https://chat.qilianyun.net/static/git/calendar/wx.png)