更新记录
1.2.0(2025-12-15)
更新日志
最新修复 (2024)
Bug 修复
-
PC端滑动视图更新问题
- 修复了PC端左右滑动时日历视图不更新的问题
- 优化了数据更新和视图刷新的时序
-
滑动触发选中问题
- 修复了滑动过程中误触发日期选中的问题
- 添加了滑动状态标志,区分滑动操作和点击操作
- 滑动时不再触发
change事件,避免误操作
-
月份切换保持选中日期
- 修复了切换月份时选中日期号丢失的问题
- 切换月份时会自动保持相同的日期号(如:1月15日切换到2月15日)
- 如果目标月份没有该日期号,则自动选择该月最后一天
-
APP端滑动死循环问题
- 修复了APP端触摸滚动时陷入死循环的问题
- 移除了可能导致重复渲染的
$forceUpdate()调用 - 优化了滑动状态管理,添加了防重复触发机制
-
滑动结束事件触发
- 滑动切换完成后自动触发
@change事件 - 确保其他页面可以监听到滑动事件并调用接口获取数据
- 使用异步处理确保数据更新完成后再触发事件
- 滑动切换完成后自动触发
性能优化
- 优化了视图更新机制,减少不必要的重新渲染
- 改进了异步操作处理,确保数据一致性
- 优化了swiper-item的key策略,提升渲染性能
使用说明
- 滑动切换月份/周时,会在切换完成后自动触发
@change事件 - 建议在父组件中监听
@change事件来获取数据,而不是在滑动过程中获取 - 切换月份时会保持选中的日期号,提供更好的用户体验
1.1.0(2025-08-01)
无
平台兼容性
uni-app(4.76)
| Vue2 | Vue3 | Chrome | Chrome插件版本 | Safari | Safari插件版本 | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|---|---|
| √ | √ | 1.1.0 | 1.1.0 | 1.1.0 | 1.1.0 | √ | √ | √ | √ | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - |
其他
| 多语言 | 暗黑模式 | 宽屏模式 |
|---|---|---|
| × | × | √ |
sh-calendar 日历组件
简介
sh-calendar 是一个功能丰富的 uni-app 日历组件,支持月视图和周视图的智能切换,提供流畅的滑动交互体验。
核心特性
- 双视图模式:支持月视图和周视图自由切换
- 滑动交互:支持左右滑动切换月份/周,上下滑动切换视图模式
- 状态标记:支持日期状态点显示(逾期、正常、高亮等)
- 触摸手势:响应式触摸操作,提供原生般的交互体验
- 数据绑定:支持双向数据绑定和事件监听
基础用法
<template>
<sh-calendar
:value="selectedDate"
:dot_lists="todoList"
@change="onDateChange"
@onMonthSwitch="onMonthChange"
/>
</template>
<script>
export default {
data() {
return {
selectedDate: '2024-01-15',
todoList: [
{ date: '2024-01-10', status: 'task' },
{ date: '2024-01-15', status: 'overdue' }
]
}
},
methods: {
onDateChange(value) {
console.log('选中日期:', value.fulldate)
},
onMonthChange(value) {
console.log('月份切换:', value.year, value.month)
}
}
}
</script>
组件接口
Props
value(String|Number): 当前选中日期dot_lists(Array): 状态点数据,支持简单格式和复杂格式
Events
change: 日期选择变化时触发onMonthSwitch: 月份切换时触发
状态类型
task: 正常任务(灰色点)overdue: 逾期任务(红色点)highlight: 高亮状态(白色点)
技术特点
- 基于 uni-app 框架,支持多端运行
- 使用 swiper 组件实现流畅的滑动效果
- 响应式设计,适配不同屏幕尺寸
- 模块化架构,易于维护和扩展
更新日志
最新修复 (2024)
Bug 修复
-
PC端滑动视图更新问题
- 修复了PC端左右滑动时日历视图不更新的问题
- 优化了数据更新和视图刷新的时序
-
滑动触发选中问题
- 修复了滑动过程中误触发日期选中的问题
- 添加了滑动状态标志,区分滑动操作和点击操作
- 滑动时不再触发
change事件,避免误操作
-
月份切换保持选中日期
- 修复了切换月份时选中日期号丢失的问题
- 切换月份时会自动保持相同的日期号(如:1月15日切换到2月15日)
- 如果目标月份没有该日期号,则自动选择该月最后一天
-
APP端滑动死循环问题
- 修复了APP端触摸滚动时陷入死循环的问题
- 移除了可能导致重复渲染的
$forceUpdate()调用 - 优化了滑动状态管理,添加了防重复触发机制
-
滑动结束事件触发
- 滑动切换完成后自动触发
@change事件 - 确保其他页面可以监听到滑动事件并调用接口获取数据
- 使用异步处理确保数据更新完成后再触发事件
- 滑动切换完成后自动触发
性能优化
- 优化了视图更新机制,减少不必要的重新渲染
- 改进了异步操作处理,确保数据一致性
- 优化了swiper-item的key策略,提升渲染性能
使用说明
- 滑动切换月份/周时,会在切换完成后自动触发
@change事件 - 建议在父组件中监听
@change事件来获取数据,而不是在滑动过程中获取 - 切换月份时会保持选中的日期号,提供更好的用户体验

收藏人数:
购买源码授权版(
试用
赞赏(1)
下载 11
赞赏 1
下载 12373819
赞赏 1828
赞赏
京公网安备:11010802035340号