我正在尝试为Yii2 listView设置分页。我正在GET请求中发送'page'
参数,但0总是加载到dataprovider->pagination->page
属性中。调试时,我可以看到GET页面参数设置正确,当尝试将pageSize
设置为'per-page'
GET参数时,它也可以正常工作并加载。
我的控制器代码:
$searchModel = new WinerySearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
$dataProvider->pagination->pageSize = $this->pageSize;
if (\Yii::$app->request->isAjax) {
$displayedItems = $dataProvider->pagination->pageSize * ($dataProvider->pagination->page) + $dataProvider->count;
0总是由$dataProvider->pagination->page
返回
Ajax请求代码:
var pageNumber = 1;
$.ajax({
method: 'GET',
url: url+"?page="+pageNumber,
success: function(data, textStatus, request){
插入
<?php var_dump($dataProvider->pagination->page); ?>
在索引页面上网格或列表之一的底部。如果您手动刷新页面,则var_dump始终返回小于页面编号的值。
public function getPage($recalculate = false)
{
if ($this->_page === null || $recalculate) {
$page = (int) $this->getQueryParam($this->pageParam, 1) - 1;
$this->setPage($page, true);
}
return $this->_page;
}
$dataProvider->pagination = [
'pageSize'=>$pageSize,
'page'=>$pageNumber-1,
];