yii2 GridView 下拉搜索实现案例教程
2016-04-23 18:25
701 查看
作者:白狼 出处:http://www.manks.top/article/yii2_gridview_dropdown_search本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
下拉搜索,我们先来看看预期的效果图
具体怎么实现喃?考虑到一张数据表要下拉效果的字段可能有很多个,我们先在其model中实现一个方法方便后续操作
然后我们上代码看看具体怎么实现的下拉搜索
像这样,我们就简单地实现了两个下拉效果,要实现筛选功能,在你的dataProvider自定添加该字段的搜索条件即可
下拉搜索,我们先来看看预期的效果图
具体怎么实现喃?考虑到一张数据表要下拉效果的字段可能有很多个,我们先在其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自定添加该字段的搜索条件即可
相关文章推荐
- 夺命雷公狗ThinkPHP项目之----企业网站9之栏目的列表完善(无限极分类的完成)
- 夺命雷公狗ThinkPHP项目之----企业网站8之栏目的添加完善(无限极分类的完成)
- PHP中的设计模式及其实际应用浅析
- yii2 GridView 日期格式化并实现日期可搜索 案例
- 我的简单PHP框架——LabPHP
- PHP是什么
- yii2 使用心得之表单及表单的类设置
- 如何学好PHP
- PHP基础常见问题
- laravel框架学习笔记——快速环境配置
- PHP_Csv_Excel_chengjicha_tongyong
- phpstudy 使用mysql
- yii2 ./yii command : No such file or directory
- PHP的相关知识点
- 2016年4月21日百度笔试题--FirstInOutPage
- Laravel框架
- PHP运行模式
- PHP7性能提升之后的思考
- 【干货】PHP命名空间和自动加载类
- php中iconv函数用法详解介绍