Как передать дополнительный параметр в listview в случае itemView как функцию в yii2

Как передать дополнительный параметр в просмотр списка. инкрустировать вид элемента как функцию

<?
echo ListView::widget( [
'dataProvider' => $dataProviderbooking,
'itemView' => function ($model, $key, $index, $widget) {
return $this->render('_itembookingview',['model' => $model,'index'=>$index]);
// or just do some echo
// return $model->title . ' posted by ' . $model->author;
},
'viewParams'=>['dataType'=>$dataType],
] ); ?>

viewparams это получить только itemview это тип строки. как это исправить.

1

Решение

От документов до $ viewParams.

Дополнительные параметры для передачи $itemView когда это происходит
оказаны. Это свойство используется только когда $itemView это строка
представляет имя представления.

Поэтому вам нужно передать его вместе с другими параметрами в обратном вызове:

'itemView' => function ($model, $key, $index, $widget) {
return $this->render('_itembookingview', [
'model' => $model,
'index' => $index,
'dataType' => $dataType,
// Pass as many params as you want here
]);
},

Но из вашего кода я не получаю никакой выгоды от использования этого. Вы можете использовать строку, представляющую имя представления в itemView и передать другие параметры в viewParams, так как $model а также $index передаются по умолчанию. Смотрите документы для $ itemView.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]