最近在做一个类似于课程表app的小东西,本来是想用dcloud提供的mui+H5实现,没想到有意味收获:
看起来好像很nb的样子,正好我也一直想用vue开发个项目,于是决定踩坑试试。
开始撸码:
首页是一个可滑动的日历,横轴是周一至周日+日期,纵轴是时间段。
uni提供了swiper组件,swiperItem是动态生成的,起初我的想法是以一个月为单位,或者一个月的周一到周日的数组,然后对数组在进行7天一组的分组,渲染到每一个item里面,一般一个月包含4周,页面会对应的生成4个swiperItem。通过监听滑动事件,当上一页是0,当前页是最后一页时,数据源切换成上个月的数据。当上一页是最后一页,当前页是0是,数据源切换成下月的数据源。但是后来发现打包成app装在手机上时,首次加载和切换数据源时严重卡顿(暂时放下)。
接下来是编辑,点击每一个灰色的小格,进入详情页,选择起始时间,确认然后返回列表页进行渲染标记(需求)。在开发过程中遇到一问题就是返回到列表页面需要动态绑定,一般就直接用true/false来直接进行判断,但是此处逻辑稍微有写复杂,需要自己写方法进行判断,
在完成了创建编辑删除等一系列操作之后。发现列表页无论是在渲染还是在滑动的时候比之前更卡顿了。。。于是决定在首页只保留三个swiperItem,数据源获取方式改成按周获取,每一次获取三周的数据,保证左右滑动流畅。。
目前在电脑浏览器的手机模拟视图下是正常的,无论是渲染速度还是样式方面,目前都ok。。。。
(未完待续)