更新记录

1.3.0(2019-07-13)

  • 新增 弹出显示模式
  • 新增 标点功能,并携带额外信息 - 新增 多选模式
  • 新增 其他日期与今天高亮区分显示
  • 修复 不显示最后一行的 bug
  • 修复 初始化组件日期显示不对的 bug
  • 优化 性能问题,删除日历滑动
  • 优化 代码整体优化,解决在低版本设备上卡顿的问题

Calendar 日历

日历组件,组件名:uni-calendar,代码块: uCalendar。

调用方式

  1. <view>
  2. <uni-calendar
  3. :insert="true"
  4. :lunar="true"
  5. :disable-before="true"
  6. :start-date="'2019-3-2'"
  7. :end-date="'2019-5-20'"
  8. @change="change"
  9. />
  10. </view>
  1. import {uniCalendar} from "@/components/uni-calendar/uni-calendar"
  2. export default {
  3. components: {
  4. uniCalendar
  5. },
  6. data() {
  7. return {};
  8. },
  9. methods: {
  10. change(e) {
  11. console.log(e);
  12. }
  13. }
  14. };

属性说明

属性名类型默认值说明
dateString自定义当前时间,默认为今天
lunarBooleanfalse显示农历
disableBeforeBooleanfalse禁用今天之前的日期
startDateString日期选择范围-开始日期
endDateString日期选择范围-结束日期
rangeBooleanfalse范围选择
insertBooleanfalse插入模式,可选值,ture:弹窗模式;false:插入模式 ;默认为插入模式
selectedArray打点,期待格式[{date: '2019-06-27', info: '签到', data: { custom: '自定义信息', name: '自定义消息头',xxx:xxx… }}]

事件说明

事件名类型说明
@changefunction日期改变,insert :ture 时生效
@confirmfunction确认选择 insert :false 时生效

方法说明

calendar 组件上定义 ref 属性,通过 ref 属性使用方法。

属性名类型说明
openfunction弹出日历组件,insert :false 时生效,通过 ref 触发

代码示例

  1. <view>
  2. <uni-calendar
  3. ref="calendar"
  4. :insert="false"
  5. @confirm="confirm"
  6. />
  7. <button @click="open">打开日历</button>
  8. </view>
  1. import {uniCalendar} from "@/components/uni-calendar/uni-calendar"
  2. export default {
  3. components: {
  4. uniCalendar
  5. },
  6. data() {
  7. return {};
  8. },
  9. methods: {
  10. open(){
  11. this.$refs.calendar.open();
  12. },
  13. confirm(e) {
  14. console.log(e);
  15. }
  16. }
  17. };

事件返回属性说明

  1. {
  2. // 范围选择
  3. "range": {
  4. // 范围开始日期
  5. "begin": "2019-06-25",
  6. // 范围结束日期
  7. "end": "2019-06-27",
  8. // 范围日期数组
  9. "data": [
  10. "2019-06-25",
  11. "2019-06-26",
  12. "2019-06-27"
  13. ]
  14. },
  15. // 当前年
  16. "year": 2019,
  17. // 当前月
  18. "month": 6,
  19. // 当前日
  20. "date": 27,
  21. // 农历
  22. "lunar": {
  23. // 农历年
  24. "lYear": 2019,
  25. // 农历月
  26. "lMonth": 5,
  27. // 农历日
  28. "lDay": 25,
  29. // 生效
  30. "Animal": "猪",
  31. // 农历月
  32. "IMonthCn": "五月",
  33. // 农历日
  34. "IDayCn": "廿五",
  35. // 公历年
  36. "cYear": 2019,
  37. // 公历月
  38. "cMonth": 6,
  39. // 公历日
  40. "cDay": 27,
  41. "gzYear": "己亥",
  42. "gzMonth": "庚午",
  43. "gzDay": "乙未",
  44. // 是否今天
  45. "isToday": true,
  46. "isLeap": false,
  47. // 周
  48. "nWeek": 4,
  49. "ncWeek": "星期四",
  50. // 是否节气
  51. "isTerm": false,
  52. // 节气名
  53. "Term": null,
  54. // 星座
  55. "astro": "巨蟹座"
  56. },
  57. //打点信息
  58. "clockinfo": {
  59. // 是否打点
  60. "have": true,
  61. // 打点日期
  62. "date": "2019-06-27",
  63. // 打点描述
  64. "info": "签到",
  65. // 额外信息
  66. "data": {
  67. "custom": "自定义信息",
  68. "name": "自定义消息头"
  69. }
  70. },
  71. // 当前完整日期
  72. "fulldate": "2019-6-27"
  73. }

本组件农历转换使用的js是 @1900-2100区间内的公历、农历互转

Tips:

  • 仅支持自定义组件模式
  • date 传入的应该是一个 String ,如: 2019-06-27 ,而不是 new Date()
  • insert 属性,确定当前的事件是 @change 还是 @confirm 。理应合并为一个事件,但是为了区分模式,现使用两个事件,这里需要注意

更新日志

v1.3.0

  • 新增 弹出显示模式
  • 新增 标点功能,并携带额外信息
  • 新增 多选模式
  • 新增 其他日期与今天高亮区分显示
  • 修复 不显示最后一行的 bug
  • 修复 初始化组件日期显示不对的 bug
  • 优化 性能问题,删除日历滑动
  • 优化 代码整体优化,解决在低版本设备上卡顿的问题

v1.2.0

  • 新增 水平垂直滑动选择月份
  • 新增 当天日期高亮显示
  • 修复 选中当前日期,返回两遍信息的问题
  • 修复 二月份切换月份直接跳到三月份的bug

v1.1.1

  • 修复 小程序不显示农历的问题
  • 修复 小程序不能设置开始日期和结束日期的问题

v1.1.0

  • 新增 是否开启农历选项
  • 新增 是否禁止今天之前的日期
  • 新增 开始日期
  • 新增 结束日期

v1.0.0

  • 新增 基础日历
  • 新增 基础打点功能