具体怎么实现喃?考虑到一张数据表要下拉效果的字段可能有很多个,我们先在其model中实现一个方法方便后续操作
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | /*** 下拉筛选* @column string 字段* @value mix 字段对应的值,不指定则返回字段数组* @return mix 返回某个值或者数组*/{$dropDownList= ['is_delete'=> ['0'=>'显示','1'=>'删除',],'is_hot'=> ['0'=>'否','1'=>'是',],//有新的字段要实现下拉规则,可像上面这样进行添加// ......];//根据具体值显示对应的值if($value!== null) returnarray_key_exists($column, $dropDownList) ? $dropDownList[$column][$value] : false;//返回关联数组,用户下拉的filter实现elsereturnarray_key_exists($column, $dropDownList) ? $dropDownList[$column] : false;} | 
然后我们上代码看看具体怎么实现的下拉搜索
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?= GridView::widget(['dataProvider'=> $dataProvider,'columns'=> [// ......['attribute'=> 'is_hot','value'=> function($model) {returnArticle::dropDown('is_hot', $model->is_hot);},'filter'=> Article::dropDown('is_hot'),],['attribute'=> 'is_delete','value'=> function($model) {returnArticle::dropDown('is_delete', $model->is_delete);},'filter'=> Article::dropDown('is_delete'),],// ......],]); ?> | 
像这样,我们就简单地实现了两个下拉效果,要实现筛选功能,在你的dataProvider自定添加该字段的搜索条件即可。
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
    
















请登录后发表评论
注册
社交帐号登录