2016-04-15 7 views
0

SearchModelのYii2でActiveFormを使用しています。検索ボタンをクリックすると、フォームフィールドは以前の値を記憶しますが、SorterDropdownはリフレッシュされます。Yii2はsearchFormをサブミットした後に覚えておきます。

<?php echo SorterDropdown::widget(['sort' => $dataProvider->sort, 
     'label' => $model->sortedBy($dataProvider->sort->attributes),]) 
?> 

SorterDropdownはButtonDropdownの単なるラッパーです。 フォームのサブミット後にソート順を覚えて表示するにはどうすればよいですか?

class SorterDropdown extends LinkSorter 
{ 
    public $label; 
    protected function renderSortLinks() 
    { 
     $attributes = empty($this->attributes) ? array_keys($this->sort->attributes) : $this->attributes; 
     $links = []; 
     foreach ($attributes as $name) { 
      $links[] = Html::tag('li', $this->sort->link($name, ['tabindex' => '-1'])); 
     } 
     if (empty($this->label)) 
       $this->label = 'Sort'; 
     return \yii\bootstrap\ButtonDropdown::widget([ 
         'encodeLabel' => false, 
         'label' => $this->label, 
         'dropdown' => [ 
         'items' => $links, 
         ], 
     ]); 
    } 
+0

SorterDropdown?それはあなたのウィジェットですか?または任意のオープンソースのもの? – Midhun

+0

ButtonDropdownのラッパーです。私は投稿を更新しました。 – Dmytro

答えて

0

いくつかのクラスをli要素に追加する必要があります。これはCSSファイルのアクティブな状態と特殊なスタイルを示します。

関連する問題