Example #1
0
 /**
  * Renders a drop-down list.
  * The selection of the drop-down list is taken from the value of the model attribute.
  * @param array $items the option data items. The array keys are option values, and the array values
  * are the corresponding option labels. The array can also be nested (i.e. some array values are arrays too).
  * For each sub-array, an option group will be generated whose label is the key associated with the sub-array.
  * If you have a list of data models, you may convert them into the format described above using
  * [[ArrayHelper::map()]].
  *
  * Note, the values and labels will be automatically HTML-encoded by this method, and the blank spaces in
  * the labels will also be HTML-encoded.
  * @param array $options the tag options in terms of name-value pairs.
  *
  * For the list of available options please refer to the `$options` parameter of [[\yii\helpers\Html::activeDropDownList()]].
  *
  * If you set a custom `id` for the input element, you may need to adjust the [[$selectors]] accordingly.
  *
  * @return static the field object itself
  */
 public function dropdownList($items, $options = [])
 {
     Html::addCssClass($this->options, 'form-group--dropdown-input');
     $options = array_merge($this->inputOptions, $options);
     $options['title'] = $this->model->getAttributeLabel($this->attribute);
     $options['ng-model'] = ArrayHelper::remove($options, 'ng-model', sprintf('data.%s', $this->attribute));
     $this->beforeRenderInput(__METHOD__, $options);
     return parent::dropdownList($items, $options);
 }