2016-09-21 88 views
1

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

回答

3

我看到两种可能的选择。

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

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

使用框架,如引导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子类。

+1

它工作。非常感谢你 –