📅Calendar-component
简单记录一下
这是一个仿照antd的日历组件,实现了基本的日历功能
首先写一个日历组件的核心是拿到每月的天数,每月的第一天是星期几
使用dayjs 的 api 来进行获取:
- daysInMonth方法拿到这个月的天数:
dayjs('2024-9-13').daysInMonth() - startOf 和 endOf 拿到这个月的第一天和最后一天:
dayjs('2024-9-13').startOf() dayjs('2024-9-13').endOf()
dateRender 和 dateInnerContent 用于修改日期单元格的内容的, 比如显示节日、日程安排等
配置一下国际化——locale 参数的处理
创建 zh-CN 和 en-US 两个资源包,通过 locale 参数进行切换
通过 createContext 创建 context 对象来保存 locale 配置,然后通过 provider 修改其中的值,通过 useContext 取出就知道当前语言
最后使用 ahooks 的 useControllableValue 同时支持受控和非受控
