浅析Yii2 GridView实现下拉搜索教程
来源: 阅读:1052 次 日期:2016-08-26 14:48:29
温馨提示: 小编为您整理了“浅析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自定添加该字段的搜索条件即可。

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map