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