更新记录

1.0.0(2025-07-09) 下载此版本

参考week-fold-calendar插件,仿钉钉打打卡日历,增加日期下可设置两个不同颜色的点


平台兼容性

uni-app

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - -

其他

多语言 暗黑模式 宽屏模式
× ×

参考check-in-calendar插件,仿钉钉打打卡日历,增加日期下可设置两个不同颜色的点

自定义日历,可切换周/月日历展示,支持手势切换

理论上全端支持,App端未经测试

Props

参数 说明 类型 默认值 可选值
dots 日历数据点 Array [ ] -
keyName 渲染日历数据点的key String value -
defaultViewType 日历视图 String month week
allowFuture 允许选择未来日期 Boolean false true
minDate 限制过去日期 String - yyyy-mm-dd
showLunarCalendar 显示农历 Boolean false true
showSolarTerm 显示24节气 Boolean false true
showFestival 显示节日 Boolean false true
customStyle 自定义默认样式 Object { } -
activeBgColor 选中日期背景色 String #3c9cff -
activeColor 选中日期颜色 String #fff -

Event

事件 说明 返回值类型
inited 日历初始化完成回调 Array
change 获取选中的日期数据 Object

Case

<template>
    <view>
        <view class="text">—— 显示农历、24节气 ——</view>
        <check-in-calendar @change="change" @inited="init" show-lunar-calendar show-solar-term show-festival :dots="dots" />

        <view class="text">—— 允许选择未来日期,默认展示周日历 ——</view>
        <check-in-calendar @change="change" :dots="dots" allow-future default-view-type="week" />

        <view class="text">—— 渲染数据点key ——</view>
        <check-in-calendar @change="change" @inited="init" :dots="dots" key-name="aa" />

        <view class="text">—— 限制过去的日期,默认展示月日历 ——</view>
        <check-in-calendar @change="change" @inited="init" :dots="dots" min-date="2024-08-10" />

        <view class="text">—— 自定义样式 ——</view>
        <check-in-calendar @change="change" :dots="dots" :custom-style="customStyle" active-color="black" />

        <view class="text">—— 默认日历 ——</view>
        <check-in-calendar @change="change" :dots="dots" />
    </view>
</template>

<script>
    export default {
        data() {
            return {
                dots: [{
                        date: '2025-07-06',
                        value: [{
                                time: '11:22:33',
                                botType: 1
                            },
                            {
                                time: '11:22:44',
                                botType: 2
                            }
                        ],
                        count: 2
                    },
                    {
                        date: '2025-07-07',
                        value: [{
                            time: '11:22:33',
                            botType: 1
                        }],
                        count: 1
                    }
                ],
                customStyle: {
                    fontSize:'38rpx',
                    color:'red', 
                    fontWeight: 'normal',
                    background:'#eee',
                }
            }
        },
        methods: {
            init(a) {
                console.log(a);
            },
            change(data) {
                console.log(data);
            }
        }
    }
</script>

<style lang="scss" scoped>
    .text {
        text-align: center;
        margin: 40rpx 0;
        font-size: 24rpx;
        color: #aaa;
    }
</style>

赞赏-> 如果你觉得本插件解决了你的问题,赠人玫瑰,手留余香~

开源是目的,赞赏是动力~

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问