程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 淺析Yii2 GridView實現下拉搜索教程

淺析Yii2 GridView實現下拉搜索教程

編輯:PHP綜合

廢話不多說了,先給大家展示下效果圖,如果大家還很滿意請繼續往下閱讀:

具體怎麼實現喃?考慮到一張數據表要下拉效果的字段可能有很多個,我們先在其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常見操作

yii2 頁面底部加載css和js的技巧

淺析Yii2 GridView 日期格式化並實現日期可搜索教程

淺析Yii2 GridView實現下拉搜索教程

關於Yii2 GridView實現下拉搜索教程就給大家介紹這麼多,希望對大家有所幫助!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved