我在ListView小部件中当前显示的行数存在问题。我不知道如何将它传递给itemView。
我的代码:
$count = $dataProvider->getCount();
ListView::widget([
'dataProvider' => $dataProvider,
'itemView' => function ($model, $key, $index, $widget, $count) {
return $this->render('_item', [
'model' => $model,
'index' => $index,
'count' => $count,
]);
},
'pager' => Helper::getPagerSettings(),
]);
它给了我这个错误:
缺少yii \ base \ View :: {closure}()
的参数5
但是当我更改$ count = 0时,它成功将0传递给itemView
答案 0 :(得分:2)
要在ListView中设置每页的项目数,请配置分页,如:
ListView::widget([
//...
'pagination' => [
'pageSize' => 10,
],
]);
您正在使用闭包来设置itemView
- 没关系,但签名是
function ($model, $key, $index, $widget)
所以没有$count
。如果你想传递额外的参数,那就这样做(它适用于每个闭包类型函数):
function ($model, $key, $index, $widget) use ($count) {
//...
}
我不确定您在$count
内使用itemView
的内容,但限制每页使用的项目数pagination
。