2016-05-23 2 views
1

У меня возникла проблема с виджета typeaheadbasic из фреймворка yii2 ... Я пытаюсь показать массив, но он говорит: «Вы должны установить свойство« data »для typeahead быть одномерным массивом ». Знаете ли вы, почему это не работает?Typeahead, который должен быть одномерным массивом

Возвращается массив это:

array(2) { [0]=> string(5) "relva" [1]=> string(9) "alcatrão" } 

Код:

$tipocampo=ArrayHelper::getColumn(TipoDeCampo::find()->all(), 'tipo'); 
echo $form->field($model, 'Tipo_de_campo_idTipo_de_campo')->widget(TypeaheadBasic::className([ 
       'data' => $tipocampo, 
    'options' => ['placeholder' => 'Filter as you type ...'], 
    'pluginOptions' => ['highlight'=>true], 
    ])); 

ответ

1

Из того, что я вижу на GitHub Usage, ваш синтаксис откусил. Оно должно быть таким:

echo $form->field($model, 'Tipo_de_campo_idTipo_de_campo')->widget(TypeaheadBasic::className(), [ 
      'data' => $tipocampo, 
      'options' => ['placeholder' => 'Filter as you type ...'], 
      'pluginOptions' => ['highlight'=>true], 
     ] 
); 

Вы проезжали массив в функцию className(), но нужно передать в качестве второго аргумента функции widget.

Смежные вопросы