Quasar的自定义分页组件

描述:

由于quasar自身封装的分页组件,满足不了业务需求(业务数据的请求是根据limit和offset来进行分页,而不是按照page和limit)。因而重新对分页组件进行了简单封装,保证了切换页码、切换每页显示数量以及强制改变状态来触发事件,用于进行数据请求。

分页组件

遇坑描述:

遇到太多,描述太难。总之就是

  • 联动状态变更导致多次触发事件,从而引起多次请求。

  • 分页组件外,更改筛选条件,自动进行触发事件,从而引起的请求。(目标本来是输入完内容,按回车键进行数据请求)

问题1源于最初页码的改变状态进行监听。

最初因为页总数count为0,当进行第一次数据请求的时候,count会进行改变,从而连带着page同时也进行了改变,此时会出发事件(回调事件进行了数据请求),因此导致了又请求了一次。

此外,如果页码为1,当改变了每页显示数量,页码未变动,导致无数据请求。如果对每页显示数量进行监听,并反馈事件,此时如果页码不为1,每页显示的数量变动又会触发页码的改变,从而导致了多次数据请求。

问题2主要是因为将触发事件的方法写在了页码page的get方法中(为什么input的v-model能影响分页组件中page的get方法还不是很明白)

通过与qfchen导师的沟通,以及思路的理清,最终将页面显示数量limit和偏移量offset以及强制触发字段emitEvent等三者进行watch监听,达到了最终效果。(可能还有更完美的方案)

直接贴上代码







达到的效果:

  • 切换页码,触发pageChange事件,传出每页显示数量limit和偏移量offset。

  • 切换每页显示数量,触发pageChange事件。(切换每页数量时,保证偏移量不变,并没有让从第一页重新开始)

  • 更改强制触发状态,触发pageChange事件。让偏移量置为0,从第一页开始请求。用于外部条件筛选用。

你可能感兴趣的:(Quasar的自定义分页组件)