浅析Yii2 GridView实现下拉搜索教程

废话不多说了,先给大家展示下效果图,如果大家还很满意请继续往下阅读:

具体怎么实现喃?考虑到一张数据表要下拉效果的字段可能有很多个,我们先在其model中实现一个方法方便后续操作

[ '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; }

然后我们上代码看看具体怎么实现的下拉搜索

rush:PHP;"> $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自定添加该字段的搜索条件即可。

编程之家推荐阅读:

关于Yii2 GridView实现下拉搜索教程就给大家介绍这么多,希望对大家有所帮助!

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...