我正在使用yii2和Kartik的yii2-grid
网格视图扩展。我在初始化GridView::widget
时得到异常Setting unknown property: kartikgridGridView::autoIdPrefix
。然而,kartikgridGridView
的继承是yiigridGridView » yiiwidgetsBaseListView » yiibaseWidget » yiibaseComponent » yiibaseObject
,而yiibaseWidget
具有公共参数autoIdPrefix
。
我正在使用以下初始化:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'autoIdPrefix' => 'igl_' . $model->id,
'showHeader' => false,
'columns' => [
[ 'attribute' => 'language' ],
[
'class' => 'kartikgridEditableColumn',
'attribute' => 'name',
'value' => 'name',
'editableOptions' => [
'formOptions' => [
'action' => yiihelpersUrl::to(['/ingredient-group-lang'])
]
]
],
],
]); ?>
怎么了?
属性$autoIdPrefix是小部件类的静态属性,因此不由子类继承。如果你需要更改小部件的id,我建议直接设置,所以
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'id' => 'igl_' . $model->id,
'showHeader' => false,
'columns' => [
[ 'attribute' => 'language' ],
[
'class' => 'kartikgridEditableColumn',
'attribute' => 'name',
'value' => 'name',
'editableOptions' => [
'formOptions' => [
'action' => yiihelpersUrl::to(['/ingredient-group-lang'])
]
]
],
],
]);?>