依照常规,先上效果图



vue 版本同款日历:https://github.com/TangSY/vue-hash-calendar

react-hash-calendar

  • 反对手势滑动操作
  • 高低滑动 切换 周/月 模式

    【周模式中】 左右滑动可切换 上一周/下一周
    【月模式中】 左右滑动可切换 上一月/下一月

装置应用阐明

npm i react-hash-calendar

Demo

或者请用浏览器的手机模式查看:https://www.hxkj.vip/demo/react-calendar/

  • ???? 感觉好用能够给一个 star 哦~~ ????

github 地址:https://github.com/TangSY/react-hash-calendar

API

属性阐明类型默认
visible管制日历组件的显示或暗藏,需应用 .sync 修饰符booleanfalse
onVisibleChange日历显示状态扭转时调用,参数为 { visible }(visible: boolean) => void-
scrollChangeDate管制滑动的时候是否批改选中的日期booleantrue
model日历组件以哪种模式展现。inline:内联的形式。dialog:弹窗的形式stringinline
defaultDatetime指定默认工夫。Datenow
format确认日期时,回调事件返回的日期格局。如“YY/MM/DD hh:mm” 、“YY 年 MM 月第 DD 天,以后工夫 hh 时 mm 分”、“MM DD,YY at hh:mm F”stringYY/MM/DD hh:mm
weekStart以星期几作为日历每一周的起始星期。可选['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday']stringsunday
pickerType选择器类型 datetime:日期+工夫 date:日期 time:工夫stringdatetime
showTodayButton是否显示返回今日按钮booleantrue
isShowWeekView是否以周视图展现组件booleanfalse
isShowAction是否显示日历组件操作栏(标题栏)booleantrue
disabledWeekView禁用周视图(设置为 true 后,无奈高低滑动进行周/月切换)booleanfalse
disabledDate设置日期的禁用状态,参数为以后日期,要求返回 boolean (禁用该日期需返回 true)Function-
disabledScroll设置日历的禁止滑动方向。可选['left', 'right', 'up', 'down', 'horizontal', 'vertical', 'all', ''] 。可取其一管制单个方向。string''
markDate须要被标记的日期,可按不同色彩不同标记类型分组标记(不分组默认蓝色)。如:[{color: 'red',date: ['2019/02/25']},{color: 'blue',type: 'dot',date: ['2019/01/20']},'2019/03/20']Array[]
markType标记图案类型 dot:小圆点(日期下方小圆点标记) circle:小圆圈(日期被小圆圈突围) dot+circle:同时应用小圆点与圆圈标记stringdot
minuteStep间隔时间。(分钟的步长)number1
lang抉择的语言版本。可选值:['CN', 'EN']stringCN
dateClickCallback日历被点击时调用,参数为 { date }。(返回的日期格局取决于 format 属性)(date: Date \string) => void-
dateConfirmCallback点击确定按钮时调用,参数为 { date }。(返回的日期格局取决于 format 属性)(date: Date \string) => void-
touchStartCallback开始滑动日历时调用,参数为 { event }(event: React.TouchEvent) => void-
touchMoveCallback日历滑动中时调用,参数为 { event }(event: React.TouchEvent) => void-
touchEndCallback日历滑动完结时调用,参数为 { event }(event: React.TouchEvent) => void-
slideChangeCallback日历滑动的方向,参数为 { direction }。(返回值有 right、left、up、down 其中之一)(direction: string) => void-
weekSlot自定义星期内容。例如可用于自定义星期款式等等,参数为 { week }。(week: string) => React.ReactNode-
daySlot自定义日期内容。例如可用于增加农历之类的。参数为 { date, extendAttr },其中 extendAttr 参数蕴含 isMarked(该日期是否被标记)、isDisabledDate(该日期是否被禁用)、isToday(该日期是否为明天)、isChecked(该日期是否被选中)、isCurrentMonthDay(该日期是否为本月日期)、isFirstDayOfMonth(该日期是否为当月第一天),可用于一些非凡需要(date, extendAttr) => React.ReactNode-
todaySlot自定义 "明天" 按钮文字内容以及款式() => React.ReactNode-
confirmSlot自定义 "确定" 按钮文字内容以及款式() => React.ReactNode-
actionSlot自定义操作栏(标题栏)内容以及款式() => React.ReactNode-

Other

  • 如果有其余问题, 或者性能上不兼容的。能够邮件沟通 t@tsy6.com,或者 github 提交 issue。

资助