我遇到来自yii2框架的widget typeaheadbasic的问题...我正在尝试显示一个数组,但它说“你必须将属性'data'设置为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],
]));
答案 0 :(得分: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
函数的第二个参数传递。