官方文档
laypage.render({
elem: 'id',
count: 70, // 数据总数,从后端得到
jump: function(obj, first){
console.log(obj.curr); // 得到当前页,以便向服务端请求对应页的数据。
console.log(obj.limit); // 得到每页显示的条数
// 首次不执行
if(!first){
// do something
}
}
});
当点击翻页时,
obj.curr可打印出点击的页数。但是源码中将这个变量设置为1了,所以当进入新的页面时,又跳回到第一页。
解决办法
将此变量手动传入,我用的
ThinkPHP框架为例,在controller层通过current_page获取当前页数传入
Model层
获取list数据
public function getCateList($where, $limit)
{
$result = $this
->where($where)
->paginate($limit);
// dd($this->getLastSql());
return $result;
}
controller层
视图渲染
public function index(Request $request)
{
//获取参数
$param_data = $request->param('cate_pid', 0, 'intval');
//数据获取
$cate_list = $this->cateService->getCateList($param_data, 5);
$cate_list = $cate_list->toArray();
return View::fetch('', ['list' => $cate_list['data'], 'total' => $cate_list['total'], 'curr' => $cate_list['current_page']]);
}
view层
<script>
layui.use(['form', 'laypage'], function () {
var form = layui.form
, laypage = layui.laypage;
laypage.render({ //分页
elem: 'pages',
count: {$total},
limit: 5,
theme: '#FFB800',
curr:{$curr},
jump: function (obj, first) {
console.log(obj.curr); // 得到当前页,以便向服务端请求对应页的数据。
console.log(first);
if (!first) {
window.location.href = "?page=" + obj.curr
}
}
});
})
</script>
浙公网安备 33010602011771号