Rumah > Soal Jawab > teks badan
P粉8019040892023-09-06 14:29:43
Untuk mencapai output yang diingini, di mana setiap item dalam menu lungsur diwakili oleh satu teg <option>
dengan label, nilai dan gaya yang ditentukan, anda perlu mengubah suai kod anda seperti berikut:
Dalam fail paparan anda, kemas kini panggilan fungsi customDropDown
untuk menghantar tatasusunan item dengan betul:
<?= $form->customDropDown($dpForm, 'color', [ [ 'label' => 'red', 'value' => 'red', 'options' => [ 'style' => 'color: red' ] ], [ 'label' => 'blue', 'value' => 'blue', 'options' => [ 'style' => 'color: blue' ] ], ] ); ?>Kaedah dikemas kini:
public function customDropdown($model, $attribute, $items = [], $options = []) { $value = Html::getAttributeValue($model, $attribute); $field = $this->field($model, $attribute); $options['options'] = array_column($items, 'options'); $options['prompt'] = ''; return $this->staticOnly ? $field : $field->dropDownList(array_column($items, 'label', 'value'), $options); }Dalam versi yang dikemas kini ini, kami menghantar tatasusunan $options terus kepada
dropDownList
方法,并使用array_column
Ekstrak pasangan nilai-label daripada tatasusunan $items