需求
遇到好几次比如签到领奖以及跟日历相关的活动等,需要跟星期关联跟接口数据关联。
解决
模拟电脑日历结构,因为包含当月全部及上月、下月部分日期,所以总共是7*6=42个日期

效果

使用
首先通过new CreateCalender().getCalenterDateStep()方法获取当前月份的起止日期,用于请求接口数据,然后再将数据结果传入currMouthCalender()中,最终返回包含:{dayNum}号数,{itemClass}上月"prevm"、当月"currm"、下月"nextm"的class,{ymd}每天的日期"YYYY-MM-DD"的数据
安装 npm i model_calender
引入 import { CreateCalender } from 'model_calender'
使用 let ct=new CreateCalender('2019-10-01');
let timeStep=ct.getCalenterDateStep(); // 时间段,请求接口的时间参数
let _data=[];
for(let i=0;i<42;i++){
_data.push({
name:'bizhou',
age:88
})
}
console.log(ct.currMouthCalender(_data)); //包含日期的数据
结语
其实这个日历并不难,主要是麻烦,费时间,只是希望能帮助大家提高工作效率;另外,因为样式太灵活了,可能是pc可能是wap,所以没有做成组件,毕竟对前端来说这个样式比较简单,有问题可以反馈留言,谢谢大家。