【发布时间】:2018-01-14 13:55:04
【问题描述】:
我想使用列表视图添加过滤器(类似于网格视图中的内容),但我不知道该怎么做
我想要的过滤器是 CheckBox 和 DropDown 选项。
这是我在 SiteController 中的操作代码
<?php
public function actionMobiles(){
$searchModel = new MobileSearch();
//$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
//$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
$dataProvider = new ActiveDataProvider([
'query' => Mobile::find(),
'pagination' => [
'pageSize' => 1,
],
]);
// get the posts in the current page
//$posts = $dataProvider->getModels();
return $this->render('mobiles', ['dataProvider' => $dataProvider,'searchModel' => $searchModel]);
}
?>
在查看文件中我有 2 个文件:
这是手机视图:
<?php
use yii\widgets\ListView;
use yii\helpers\Html;
use yii\grid\GridView;
use yii\helpers\ArrayHelper ;
use app\models\Mobile;
?>
<?= ListView::widget([
'dataProvider' => $dataProvider,
//'filterModel' => $searchModel,
'itemView' => '_mobiles',
]); ?>
在我拥有的 _mobiles 中:
<?php
use yii\widgets\DetailView;
?>
<?= DetailView::widget([
'model' => $model,
'attributes' => [
//'id',
'id',
'title',
//'ativo',
],
]) ?>
它通过分页正确显示数据库中的数据。 但是如何在更新列表中添加过滤器(CheckBox 和 DropDown List 用于更新)?
【问题讨论】:
-
在您的小部件中添加 'filterModel' => $searchModel
-
在列表视图中??? @Gunnrryy
-
设置未知属性:yii\widgets\ListView::filterModel @Gunnrryy
-
是的,看到了,您可以使用 gridView 或 dataTables 而不是 listView 吗?选择 listView 有什么特别的理由吗?
-
@Gunnrryy 我想列出产品并过滤它们。我搜索了很多次并建议我使用列表视图
标签: php web yii yii2 frameworks