1.第一次做分页逻辑是在大屏CPR项目中,做的很杂乱,没有进行逻辑的梳理就开始写代码。
2.第二次做分页逻辑是在debrief系统中,需要先梳理逻辑,以下为梳理逻辑的过程。
a.分页分为两种情况,一种是加载后渲染页面,一种是并集搜索某些数据后的分页。
第一种分页逻辑简单,获取当前页码使用linq进行数据的展示,注意:这时候的数据要分为两套,一套是用于页面的展示数据,一套是从接口获取的原始数据,展示数据=深拷贝原始数据

linq分页逻辑
this.vue1.$data.debriefList.showCaseList=Enumerable.From(this.vue1.$data.debriefList.caseList).Skip(takeNum * (page - 1)).Take(takeNum).ToArray()
第二种逻辑需要借助另外一套数据,作为搜索后的源数据,也就是不能跟随分页逻辑去变化的数据。当做完搜索逻辑后,需要把搜索后的数据深拷贝一份保存起来,下面的分页逻辑都要使用这套不会变的数据去进行linq操作。
本文分享了作者在两个项目中实现分页逻辑的经验。首先介绍了直接编写代码而不事先梳理逻辑的问题,然后详细阐述了两种分页场景的具体实现过程,包括加载后渲染页面的简单分页逻辑及搜索后数据分页的方法。
1459

被折叠的 条评论
为什么被折叠?



