我正在使用Kartik的GridView,并希望按日期范围过滤某些列。
这是代码:
<?php Pjax::begin(); echo GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
[
'attribute' => 'date_start',
'format' => ['date','php:d.m.Y'],
'filterType' => GridView::FILTER_DATE_RANGE,
'filterWidgetOptions' => [
'convertFormat'=>true,
'pluginOptions' => [
'opens'=>'right',
'locale' => [
'cancelLabel' => 'Clear',
'format' => 'd.m.Y',
],
],
],
],
],
// ** Other stuff **
]); Pjax::end(); ?>
当我在日期选择器中选择了某个范围时,它工作正常。但是,当我要在初始页面加载后选择“今天”时(换句话说,只需打开日期范围过滤器并按“应用”(由于默认情况下选择了“今天”))就什么都没有发生-过滤不会触发,甚至过滤器字段中的值不变。
如我所见,过滤器组件不会触发过滤,因为过滤器中的默认值为今天,而不是我传递给searchModel中的过滤器作为默认值的“空字符串”。
我应该更改些什么以使过滤器以“今天”的值工作?也许有一种方法可以在我按“应用”后手动触发过滤?
谢谢!