Yii2在提交searchForm后记住排序选项

时间:2016-04-15 16:11:56

标签: forms sorting yii2

我在Yii2中使用ActiveForm作为我的SearchModel。单击搜索按钮后,表单字段会记住以前的值,但会刷新SorterDropdown。

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

SorterDropdown只是ButtonDropdown的包装器。 如何在表单子目录之后更新SorterDropdown以记住排序顺序(并显示它)?

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,
                        ],
        ]);
    }

1 个答案:

答案 0 :(得分:0)

你应该在li元素中添加一些类,它表示它的活动状态和CSS文件中的特殊样式。