yii2 gridview有条件地隐藏过滤行

时间:2016-09-21 03:58:31

标签: gridview yii2

如何在yii2中有条件地隐藏“gridview的过滤行和标题”。我想要在PC屏幕中显示网格视图的过滤行,但隐藏在智能手机屏幕中,也可以根据上述条件隐藏或显示gridview的标题。这有可能吗? 感谢

1 个答案:

答案 0 :(得分:3)

我看到两种可能的选择。

1)使用CSS和媒体查询,例如:

@media (min-width: 0px) and (max-width: 767px) {
    .filter {
        display: none;
    }
}

使用像Bootstrap 3这样的框架更容易,只需添加课程hidden-xs(参见official docs中的更多信息)

这显然只是从视图中隐藏了所需的块,但它仍然被加载并存在于DOM中。

2)如果您不想生成与过滤器相关的HTML,则可以使用Mobile_Detect等扩展程序。它有Yii2 integration

使用示例:

<?php if (Yii::$app->devicedetect->isMobile()) { ?>
    <div class="filter">...</div>
<?php } ?>

根据您的需要选择。由于您还希望隐藏GridView标头,因此选项1更好,否则您可能需要子类GridView小部件。