vue-hash-calendar,移动端日期时间选择插件(使用篇)

按照惯例,先上效果图

vue-hash-calendar,移动端日期时间选择插件(使用篇)vue-hash-calendar,移动端日期时间选择插件(使用篇)按照惯例,先上效果图vue-hash-calendar安装使用说明DemoAPI事件
calendar.gif

vue-hash-calendar

  • 基于 vue 2.X 开发的日历组件
  • 支持手势滑动操作·1
  • 原生 js 开发,没引入第三方库
  • 上下滑动 切换 周/月 模式

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

安装使用说明

npm i vue-hash-calendar
// 在入口文件中(main.js),导入组件库
import vueHashCalendar from 'vue-hash-calendar'
// 引入组件CSS样式
import 'vue-hash-calendar/lib/vue-hash-calendar.css'
// 注册组件库
Vue.use(vueHashCalendar)
// 在VUE文件中引入组件
 <vue-hash-calendar></vue-hash-calendar>

Demo

vue-hash-calendar,移动端日期时间选择插件(使用篇)vue-hash-calendar,移动端日期时间选择插件(使用篇)按照惯例,先上效果图vue-hash-calendar安装使用说明DemoAPI事件
qr_code

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

  • ? 觉得好用可以给一个 star 哦~~ ?

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

API

属性 说明 类型 默认 是否必传
visible 控制日历组件的显示或隐藏,需使用 .sycn 修饰符 Boolean false
scrollChangeDate 控制滑动的时候是否修改选中的日期 Boolean true
model 日历组件以哪种形式展示。inline:内联的方式。dialog:弹窗的方式 String inline
defaultDatetime 指定默认时间。 Date 当前时间
format 确认日期时,回调事件返回的日期格式。如“YY/MM/DD hh:mm” 、“YY 年 MM 月第 DD 天,当前时间 hh 时 mm 分” String YY/MM/DD hh:mm
weekStart 以星期几作为日历每一周的起始星期。可选[‘sunday’, ‘monday’, ‘tuesday’, ‘wednesday’, ‘thursday’, ‘friday’, ‘saturday’] String sunday
pickerType 选择器类型 datetime:日期+时间 date:日期 time:时间 String datetime
showTodayButton 是否显示返回今日按钮 Boolean true
isShowWeekView 是否以周视图展示组件 Boolean false
disabledWeekView 禁用周视图(设置为 true 后,无法上下滑动进行周/月切换) Boolean false
disabledDate 设置日期的禁用状态,参数为当前日期,要求返回 Boolean (禁用该日期需返回 true) Function
markDate 需要被标记的日期,可按不同颜色分组标记(不分组默认蓝色)。如:[{color: ‘red’,date: [‘2019/02/25’]},{color: ‘blue’,date: [‘2019/01/20′]},’2019/03/20’] Array []
markType 标记图案类型 dot:小圆点(日期下方小圆点标记) circle:小圆圈(日期被小圆圈包围) dot+circle:同时使用小圆点与圆圈标记 String dot
minuteStep 间隔时间。(分钟的步长) Number 1

事件

事件名称 说明 参数
change 日期改变时,触发该事件。(返回的日期格式取决于 format 属性) (date: 日期改变时,选中的日期)
confirm 点击确认按钮时,触发该事件,dialog模式中才有该按钮。(返回的日期格式取决于 format 属性) (date: 点击确认按钮时,选中的日期)
click 点击日期时,触发该事件。(返回的日期格式取决于 format 属性) (date: 当前点击的日期)
touchstart 日历滑动 start 事件,同于原生该事件。 (event: touch 事件)
touchmove 日历滑动 move 事件,同于原生该事件。 (event: touch 事件)
touchend 日历滑动 end 事件,同于原生该事件。 (event: touch 事件)
slidechange 日历滑动的方向。返回值:right、left、up、down 。 (direction: 滑动的方向)

版本记录

changelog

Other

  • 在 dialog 模式中,如何显示日历组件?注意使用 .sync 修饰符
<vue-hash-calendar :visible.sync="isShowCalendar"></vue-hash-calendar>

//设置为true
this.isShowCalendar = true;
  • 如何设置禁用日期? 可参考源码中 App.vue 文件
// 例如禁用今日之后的所有日期

/** vue模板文件 **/
<vue-hash-calendar :disabled-date="disabledDate"></vue-hash-calendar>

/** vue methods 中的方法 **/
disabledDate(date) {
    let timestamp = date.getTime();
    if (timestamp > new Date().getTime()) {
        return true
    }

    return false
}
  • 如果有其他问题, 或者功能上不兼容的。可以邮件沟通 t@tsy6.com,或者 github 提交 issue。

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

本文来自简书作者:Haraway,本文观点不代表 PmTemple 立场,转载请联系原作者。原文链接:

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Google Photos Web UI 探索之旅
上一篇 2019年9月24日 下午3:06
vue移动端日期选择组件
下一篇 2020年1月7日 下午4:15

相关推荐

发表回复

登录后才能评论

评论列表(6条)

  • 富思记录员
    富思记录员 2026年4月11日 上午12:39

    原生JS开发,无第三方依赖,这对性能敏感型应用是加分项。GitHub开源但缺乏商业化路径,作为独立组件价值有限,但若整合进成熟产品线可提升开发效率约30%。

  • 二次漫游者
    二次漫游者 2026年4月2日 上午3:19

    这个日历组件的手势交互太有游戏感了!周月模式切换的设计就像游戏里的技能切换一样自然流畅,作为游戏策划,这种操作逻辑真的太懂玩家心理了!😍 不过期待能支持更多自定义动画效果,这样在游戏活动日历上会更有沉浸感!

  • 次元探索者
    次元探索者 2026年3月20日 下午9:29

    这个日历组件的手势操作太像游戏里的UI交互了!🎮 左右滑动切换周月模式,让我想到游戏中的活动日历系统,做签到功能或者限时活动时简直完美!简洁又实用,玩家操作体验一定很流畅!

  • 快门晴空
    快门晴空 2026年3月13日 下午7:59

    这个日历组件太适合我们旅行摄影师规划拍摄行程了!📸 手势滑动操作超方便,切换周月模式就像是调整相机镜头视角一样自然。特别是在安排不同地点的拍摄计划时,界面清晰直观,旅行排期再也不用纠结啦!✈️

    • 镜中研究者
      镜中研究者 2026年3月19日 下午11:34

      @快门晴空这个Vue日历组件的交互设计很棒!手势滑动操作直观流畅,周/月模式切换逻辑清晰。作为产品经理,这种组件可以直接集成到项目中,提升用户选择日期的体验。特别是它不依赖第三方库,减少了项目体积,对性能优化很有帮助。

    • 劲力分享客
      劲力分享客 2026年4月18日 下午6:04

      @快门晴空这个日历组件就像健身计划管理器一样实用!滑动切换周月模式太顺滑了,安排健身课程再也不用手忙脚乱。界面简洁直观,教练们可以轻松规划学员的训练周期,比纸质计划表高效多了!🏋️‍♂️

微信公众号
微信公众号
edgesensor_high 小程序
小程序
分享本页
返回顶部