filterWidgetOptions不起作用(yii2)

时间:2017-10-06 06:38:31

标签: gridview yii2

在kartik gridview上,我想添加选择2类型的过滤器,如下所示:

[
                'attribute' => 'product_id',
                'value' => function ($model) {
                return $model->product->name;
                },
                'filterType'=>GridView::FILTER_SELECT2,
                'filter'=>ArrayHelper::map(\app\models\ProductWord::find()->asArray()->all(), 'name', 'name'),
                'filterWidgetOptions'=>[
                    'pluginOptions'=>['allowClear'=>true, 'minimuminputLength' => 3],
                ],
                'filterInputOptions'=>['placeholder'=>'Any Product', 'multiple' => true ],
                'group'=>true,  // enable grouping
                'label' => 'Product',
                 'headerOptions' =>
                     ['style'=>'max-width: 70%; font-size: 12px;overflow: auto; word-wrap: break-word;'],
                'contentOptions' =>
                    ['style'=>'max-width: 70%; font-size: 12px;overflow: auto; word-wrap: break-word;'],
],

但结果是filterWidgetOptions不起作用。我添加了allowclearminimuminputLength,但它不起作用。这个代码我做错了什么?

谢谢

2 个答案:

答案 0 :(得分:0)

由于搜索模型会查找要进行搜索的ID,因此您应该映射

  

ID

  

名称

 'filter'=>ArrayHelper::map(\app\models\ProductWord::find()->asArray()->all(), 'id', 'name'),

另外,如下所示更改。您应该使用模型来获取值。

'value' => function ($model) {
        return $model->product->name;
     },

答案 1 :(得分:0)

正确的是:

minimumInputLength => 3

这是可行的!