首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用标记筛选网格视图

使用标记筛选网格视图
EN

Stack Overflow用户
提问于 2017-09-21 00:28:40
回答 1查看 164关注 0票数 0

查看代码:

代码语言:javascript
运行
复制
 [
        'attribute' => 'name',
        'filterType'=>GridView:: FILTER_SELECT2,
        'filter'=>ArrayHelper::map(\app\models\Item::find()->orderBy('category')->asArray()->all(), 'name', 'name'),
        'filterWidgetOptions'=>[
            'pluginOptions'=>['allowClear'=>true, 'minimuminputLength' => 3],
        ],
        'filterInputOptions'=>['placeholder'=>'Any Item', 'multiple' => true ],
        'group'=>true,  // enable grouping
        'label' => 'Item',
        'contentOptions' =>
            ['style'=>'max-width: 150px; font-size: 12px;overflow: auto; word-wrap: break-word;'],

    ],

该代码是有效的,但标记值应该是从列表中选择的项目名称值,而我想要的是我可以为标记过滤器/搜索键入任何单词,而不是我应该从列表中选择值。谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-09-26 19:39:50

使用以下代码在网格视图中获取TypeAhead筛选器值:

代码语言:javascript
运行
复制
     [
            'attribute' => 'attributeName',
            'format' => 'raw',
            'value' => function ($data) {
                return$data->attributeName;
            },
            'filter' => Select2::widget([
                'model' => $searchModel,
                'attribute' => 'attributeName',
                'data' => Model::getAllModelListFunction(),
                'options' => [
                    'placeholder' => 'Select',
                ],
                'pluginOptions' => [
                    'allowClear' => true
                ],
            ]),
        ],

getAllModelFunction应该是这样的:

代码语言:javascript
运行
复制
public static function getAllModelFunction()
{
   $data = self::find()->select('id,name')->asArray()->all();
   return ArrayHelper::map($data, 'id', 'title');
}

请记住在Index.php文件中安装和使用以下小部件:

代码语言:javascript
运行
复制
  use kartik\select2\Select2;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46327296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档