Rumah php教程 php手册 yii2 GridView 下拉搜索实现案例教程 - 白狼栈

yii2 GridView 下拉搜索实现案例教程 - 白狼栈

May 20, 2016 am 11:39 AM

作者:白狼 出处:http://www.manks.top/article/yii2_gridview_dropdown_search本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

下拉搜索,我们先来看看预期的效果图

具体怎么实现喃?考虑到一张数据表要下拉效果的字段可能有很多个,我们先在其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;
}
Salin selepas log masuk

然后我们上代码看看具体怎么实现的下拉搜索

= 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'),
        ],
        // ......
    ],
]); ?>
Salin selepas log masuk

像这样,我们就简单地实现了两个下拉效果,要实现筛选功能,在你的dataProvider自定添加该字段的搜索条件即可

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)