网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 浅析Yii2 GridView实现下拉搜索教程
内容
    具体怎么实现喃?考虑到一张数据表要下拉效果的字段可能有很多个,我们先在其model中实现一个方法方便后续操作
    /**
    * 下拉筛选
    * @column string 字段
    * @value mix 字段对应的值,不指定则返回字段数组
    * @return mix 返回某个值或者数组
    */
    public static function dropDown ($column, $value = null)
    {
    $dropDownList = [
    'is_delete'=> [
    '0'=>'显示',
    '1'=>'删除',
    ],
    'is_hot'=> [
    '0'=>'否',
    '1'=>'是',
    ],
    //有新的字段要实现下拉规则,可像上面这样进行添加
    // ......
    ];
    //根据具体值显示对应的值
    if ($value !== null) 
    return array_key_exists($column, $dropDownList) ? $dropDownList[$column][$value] : false;
    //返回关联数组,用户下拉的filter实现
    else
    return array_key_exists($column, $dropDownList) ? $dropDownList[$column] : false;
    }
    然后我们上代码看看具体怎么实现的下拉搜索
    <?= GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
    // ......
    [
    'attribute' => 'is_hot',
    'value' => function ($model) {
    return Article::dropDown('is_hot', $model->is_hot);
    },
    'filter' => Article::dropDown('is_hot'),
    ],
    [
    'attribute' => 'is_delete',
    'value' => function ($model) {
    return Article::dropDown('is_delete', $model->is_delete);
    },
    'filter' => Article::dropDown('is_delete'),
    ],
    // ......
    ],
    ]); ?>
    像这样,我们就简单地实现了两个下拉效果,要实现筛选功能,在你的dataProvider自定添加该字段的搜索条件即可。
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/17 4:38:00