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


Posted in PHP onApril 22, 2016

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

浅析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自定添加该字段的搜索条件即可。

三水点靠木推荐阅读:

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

PHP 相关文章推荐
php面向对象全攻略 (七) 继承性
Sep 30 PHP
php radio 单选框获取与保持值的实现代码
May 15 PHP
php继承的一个应用
Sep 06 PHP
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
Nov 10 PHP
使用session判断用户登录用户权限(超简单)
Jun 08 PHP
php将mysql数据库整库导出生成sql文件的具体实现
Jan 08 PHP
ThinkPHP有变量的where条件分页实例
Nov 03 PHP
PHP 中提示undefined index如何解决(多种方法)
Mar 16 PHP
详解Yii2 rules 的验证规则
Dec 02 PHP
PHP面向对象程序设计之构造方法和析构方法详解
Jun 13 PHP
关于php开启错误提示的总结
Sep 24 PHP
详解php中流行的rpc框架
May 29 PHP
PHP使用反射机制实现查找类和方法的所在位置
Apr 22 #PHP
浅析Yii2中GridView常见操作
Apr 22 #PHP
php简单实现sql防注入的方法
Apr 22 #PHP
PHP简单获取及判断提交来源的方法
Apr 22 #PHP
thinkPHP3.1验证码的简单实现方法
Apr 22 #PHP
thinkPHP实现将excel导入到数据库中的方法
Apr 22 #PHP
利用php输出不同的心形图案
Apr 22 #PHP
You might like
复杂检索数据并分页显示的处理方法
2006/10/09 PHP
Laravel使用支付宝进行支付的示例代码
2017/08/16 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
2018/05/11 PHP
分析 JavaScript 中令人困惑的变量赋值
2007/08/13 Javascript
js arguments.callee的应用代码
2009/05/07 Javascript
jquery清空textarea等输入框实现代码
2013/04/22 Javascript
jQuery窗口、文档、网页各种高度的精确理解
2014/07/02 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
2015/09/04 Javascript
Node.js的Mongodb使用实例
2016/12/30 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
JS实现页面内跳转的简单代码
2017/09/03 Javascript
深入浅析Vue中的slots/scoped slots
2018/04/03 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
vue组件间通信六种方式(总结篇)
2019/05/15 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
解决element-ui的下拉框有值却无法选中的情况
2020/11/07 Javascript
[01:02:05]LGD vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
使用Python求解最大公约数的实现方法
2015/08/20 Python
Python的自动化部署模块Fabric的安装及使用指南
2016/01/19 Python
python语言使用技巧分享
2016/05/31 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
2018/03/04 Python
python使用__slots__让你的代码更加节省内存
2018/09/05 Python
详解Numpy数组转置的三种方法T、transpose、swapaxes
2019/05/27 Python
Pandas删除数据的几种情况(小结)
2019/06/21 Python
Django DRF路由与扩展功能的实现
2020/06/03 Python
基于Python实现粒子滤波效果
2020/12/01 Python
html5 canvas实现给图片添加平铺水印
2019/08/20 HTML / CSS
Vans(范斯)德国官网:美国南加州的原创极限运动潮牌
2017/05/02 全球购物
税务干部鉴定材料
2014/02/11 职场文书
历史专业学生的自我评价
2014/02/28 职场文书
冬季施工防火方案
2014/05/17 职场文书
房屋出租委托书格式
2014/09/23 职场文书
2014基建处领导班子“四风”对照检查材料思想汇报
2014/10/04 职场文书
电力工程合作意向书
2015/05/11 职场文书
2015年学校管理工作总结
2015/07/20 职场文书