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

时间:2021-05-18

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

具体怎么实现喃?考虑到一张数据表要下拉效果的字段可能有很多个,我们先在其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实现elsereturn 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自定添加该字段的搜索条件即可。

推荐阅读:

浅析Yii2中GridView常见操作

yii2 页面底部加载css和js的技巧

浅析Yii2 GridView 日期格式化并实现日期可搜索教程

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

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章