Yii 2 dropDownList – значение по умолчанию не выбрано

Я использую Yii 2 ActiveForm, пытаясь сделать вариант 7 «по умолчанию».

Для этого мне нужно использовать массив параметров, но когда я это делаю, атрибут html «selected» не отображается вообще при просмотре источника HTML. У меня нет ошибок.

Если я использую другие параметры, такие как «label», он работает по назначению.

$form->field($model, 'date')->dropDownList($months, [ 'options'=>array( '7' => ['label' => 'JULY', 'selected'=>true], ), ]); 

Согласно документам, любой «действительный» вариант принят, я предполагаю, что «выбранный» действителен, так как это раскрывающийся список HTML?

Это то, что генерируется:

 <select id="log-date" class="form-control" name="Log[date]"> <option value="1">JANUARY</option> <option value="2">FEBRUARY</option> <option value="3">MARCH</option> <option value="4">APRIL</option> <option value="5">MAY</option> <option value="6">JUNE</option> <option value="7" label="label works fine">JULY</option> <option value="8">AUGUST</option> <option value="9">SEPTEMBER</option> <option value="10">OCTOBER</option> <option value="11">NOVEMBER</option> <option value="12">DECEMBER</option> </select> 

  1. Здесь был дан ответ: выбрана опция Yii2 dropDownList . Вам необходимо установить атрибут date:

     $model->date = 7; $form->field($model, 'date')->dropDownList($months); 
  2. Существует также обсуждение от разработчиков: dropDownList pre Selection not rendering 'selected' Они предлагают либо определить значение по умолчанию для атрибута в методе init (), либо установить его непосредственно в представлении (это то же самое, что и ответ выше). Я тоже так делаю

     $model->priority = $model->isNewRecord ? 2 : $model->priority; $form->field($model, 'priority',[ 'options'=>['class'=>'col-xs-12 col-md-3'] ])->dropDownList($priorityList) 

Для выбора нет необходимости использовать «параметры»

  $form->field($model, 'date')->dropDownList($months, '7'); 

В моей ситуации код для yii2:

 <?= $form->field($model, 'status')->dropDownList($order_statuses, ['value' => !empty($model->status) ? $model->status : 1]); ?> 

где 1 – id для выбранного по умолчанию значения.