Calendar 日历

用于选择日期区间。

使用指南

在 page.json 中引入组件

  1. {
  2. "navigationBarTitleText": "Calendar",
  3. "usingComponents": {
  4. "wux-cell-group": "../../dist/cell-group/index",
  5. "wux-cell": "../../dist/cell/index",
  6. "wux-calendar": "../../dist/calendar/index"
  7. }
  8. }

示例

!> 该组件主要依靠 JavaScript 主动调用,所以一般只需在 wxml 中添加一个组件,并设置 id 为 #wux-calendar 或其他,之后在 page.js 中调用 $wuxCalendar(id) 获取匹配到的第一个组件实例对象。

  1. <wux-calendar id="wux-calendar" />
  2. <view class="page">
  3. <view class="page__hd">
  4. <view class="page__title">Calendar</view>
  5. <view class="page__desc">日历</view>
  6. </view>
  7. <view class="page__bd">
  8. <wux-cell-group title="Calendar">
  9. <wux-cell title="单选" extra="{{ value1 }}" bind:click="openCalendar1"></wux-cell>
  10. <wux-cell title="多选" extra="{{ value2 }}" bind:click="openCalendar2"></wux-cell>
  11. <wux-cell title="Direction = Vertical" extra="{{ value3 }}" bind:click="openCalendar3"></wux-cell>
  12. <wux-cell title="MinDate & MaxDate" extra="{{ value4 }}" bind:click="openCalendar4"></wux-cell>
  13. </wux-cell-group>
  14. </view>
  15. </view>
  1. import { $wuxCalendar } from '../../dist/index'
  2. Page({
  3. data: {
  4. value1: [],
  5. value2: [],
  6. value3: [],
  7. value4: [],
  8. },
  9. openCalendar1() {
  10. $wuxCalendar().open({
  11. value: this.data.value1,
  12. onChange: (values, displayValues) => {
  13. console.log('onChange', values, displayValues)
  14. this.setData({
  15. value1: displayValues,
  16. })
  17. },
  18. })
  19. },
  20. openCalendar2() {
  21. $wuxCalendar().open({
  22. value: this.data.value2,
  23. multiple: true,
  24. onChange: (values, displayValues) => {
  25. console.log('onChange', values, displayValues)
  26. this.setData({
  27. value2: displayValues,
  28. })
  29. },
  30. })
  31. },
  32. openCalendar3() {
  33. $wuxCalendar().open({
  34. value: this.data.value3,
  35. direction: 'vertical',
  36. onChange: (values, displayValues) => {
  37. console.log('onChange', values, displayValues)
  38. this.setData({
  39. value3: displayValues,
  40. })
  41. },
  42. })
  43. },
  44. openCalendar4() {
  45. const now = new Date()
  46. const minDate = now.getTime()
  47. const maxDate = now.setDate(now.getDate() + 7)
  48. $wuxCalendar().open({
  49. value: this.data.value4,
  50. minDate,
  51. maxDate,
  52. onChange: (values, displayValues) => {
  53. console.log('onChange', values, displayValues)
  54. this.setData({
  55. value4: displayValues,
  56. })
  57. },
  58. })
  59. },
  60. })

视频演示

Calendar

API

参数 类型 描述 默认值
options object 配置项 -
options.prefixCls string 自定义类名前缀 wux-calendar
options.monthNames array 月名称 [‘一月’, ‘二月’, ‘三月’, ‘四月’, ‘五月’, ‘六月’, ‘七月’, ‘八月’, ‘九月’, ‘十月’, ‘十一月’, ‘十二月’]
options.monthNamesShort array 月名称缩写 [‘一月’, ‘二月’, ‘三月’, ‘四月’, ‘五月’, ‘六月’, ‘七月’, ‘八月’, ‘九月’, ‘十月’, ‘十一月’, ‘十二月’]
options.dayNames array 周名称 [‘周日’, ‘周一’, ‘周二’, ‘周三’, ‘周四’, ‘周五’, ‘周六’]
options.dayNamesShort array 周名称缩写 [‘周日’, ‘周一’, ‘周二’, ‘周三’, ‘周四’, ‘周五’, ‘周六’]
options.firstDay number 一周的第一日 1
options.weekendDays array 一周的起始日 [0, 6]
options.multiple boolean 是否支持多选 false
options.dateFormat string 日期格式 yyyy-mm-dd
options.direction string 方向,可选择为 horizontal、vertical horizontal
options.minDate any 最小可选日期 -
options.maxDate any 最大可选日期 -
options.touchMove boolean 是否支持触摸滑动 true
options.animate boolean 是否支持切换月份的动画 true
options.closeOnSelect boolean 用户选择一个时间后就自动关闭,当 multiplefalse 时才生效 true
options.weekHeader boolean 是否显示周名称 true
options.toolbar boolean 是否显示工具栏 true
options.value array 默认时间选择值 []
options.onMonthAdd function 添加月份时的回调函数 -
options.onChange function 选择日期时的回调函数 -
options.onOpen function 打开日历时的回调函数 -
options.onClose function 关闭日历时的回调函数 -
options.onDayClick function 点击选择日期时的回调函数 -
options.onMonthYearChangeStart function 月份变化开始的回调函数 -
options.onMonthYearChangeEnd function 月份变化完成的回调函数 -