今天做项目的时候就发现fastadmin 前端分页失效了,有分页控件,但是点击的时候始终显示第一页。网上找了很多的答案,都没有找到适合自己问题的解决办法。先上问题,再小小分析一波,最后上解决方法。因为遇到的问题各不相同,仅供参考。
问题:已经选到第6页,依然显示第1页数据:
前端js是没有动,还是用fastadmin生成的;后端代码我根据业务更改了;
controller层:
model层:
问题根源:thinkPHP的paginate分页函数,写在model层,是不会分页的;写在controller层就会成功分页。【不要问这两个层怎么分,请自行百度】
解决方法:
方法一、将model层的 getlist内容写到controller层,具体就像这样子
方法二、不改动controller代码,在model层自己计算分页,大概逻辑就是根据offset算页数,offset参数会在前端传过来,我采用的就是这种,具体代码:
paginate($limit, false, [‘page’ => $page]);
limit 显示数量
page 页数
方法三、改动controller代码,改动model层代码,直接不用paginate,改用select;利用前端控件进行分页:后端直接查出来多少条数据,直接返回前端,然后前端进行分页,在自己业务的具体路径【public\assets\js\backend\test.js】:
方法四:根据这位兄弟的方法看看能不能解决:
fastadmin后台分页设置显示方法_圣之维霞的博客-CSDN博客
方法五:还是没有能解决你的问题,你还可以参考一下这个:FastAdmin bootstrap-table 分页手动输入跳转
如果还是没有解决的话,可以私信大家交流一下