带有动态项的Yii2下拉小部件

带有动态项的Yii2下拉小部件,yii2,dropdown,Yii2,Dropdown,我想要一个在yii2中带有动态项的下拉小部件。怎么可能呢? 在这样做之后,我面临一个错误,这个选项是必需的。 我的代码出了什么问题 $items = []; foreach ($all_label as $each_label) { $items[$each_label->id_label]['id_label'] = $each_label->id_label; $items[$each_label->id_label]

我想要一个在yii2中带有动态项的下拉小部件。怎么可能呢? 在这样做之后,我面临一个错误,这个选项是必需的。 我的代码出了什么问题

$items = [];
foreach ($all_label as $each_label) {               

      $items[$each_label->id_label]['id_label'] = $each_label->id_label;
      $items[$each_label->id_label]['label'] = $each_label->label_name;
}
print_r($items);

O:P-

Array
(
[5] => Array
    (
        [id_label] => 5
        [label] => Label1
    )

[6] => Array
    (
        [id_label] => 6
        [label] => Label2
    )

[9] => Array
    (
        [id_label] => 9
        [label] => Label3
    )

)       

echo Dropdown::widget([
    'items' => [
                $items
            ],                                     
    ]);

好的,在检查了规范之后,问题似乎是您使用了“id\u标签”,这对于小部件来说是无效的选项。 您需要忽略以下内容:

$items = [];
foreach ($all_label as $each_label) {               
     $items[$each_label->id_label]['label'] = $each_label->label_name;
}
如果这无法生成所需的值,请尝试适应:

$items = [];
foreach ($all_label as $each_label) {               
     $items[$each_label->id_label]['label'] = $each_label->label_name;
     $items[$each_label->id_label]['options']['value'] = $each_label->id_label_;
}
$items详细信息