Yii2 在 GridView 分页中禁用 pjax
Posted
技术标签:
【中文标题】Yii2 在 GridView 分页中禁用 pjax【英文标题】:Yii2 disable pjax in GridView pagination 【发布时间】:2017-05-19 06:53:19 【问题描述】:如何为 gridview 的分页部分禁用 pjax?除了分页之外,其他一切都可以与 pjax 一起使用。这可能吗?
这是因为我想在更改页面时发送分配的 POST 数据。会话不是一个选项。
我的网格视图:
echo GridView::widget
([
'id' => 'list_of_products',
'dataProvider' => $products,
'filterModel' => $productProvider,
'filterSelector' => 'select[name="per-page"]',
'summary' => '<div class="summary">Showing <b>' . $products->getTotalCount() . '</b> products</div>',
'columns' =>
[
....
],
'pjax' => true,
'responsive' => true,
'responsiveWrap' => false,
'pjaxSettings' => ['options' => [
'id' => 'kv-pjax-container',
'enablePushState' => false,
'options' => ['class' => 'row col-lg-6']
]],
'panel' => [
'heading' => '<h3 class="panel-title"> Search result</h3>',
'headingOptions' => ['class' => 'panel-heading product-container'],
'beforeOptions' => ['class' => 'kv-panel-before'],
],
'export' => [
'label' => 'Page',
'fontAwesome' => true,
],
'toolbar' => [
['content' =>
''
],
],
'toolbar' => [
'<div class="form-group pull-right">
<button onclick="addToList()" type="button" id="clear-filters" class="btn btn-primary">
<i class="fa fa-mail-forward"></i> Add to feed
</button>
</div>'
]
]);
?>
【问题讨论】:
【参考方案1】:您可以通过向该链接添加 data-pjax="0" 属性来禁用容器内特定链接的 pjax。
在您的网格中只需设置选项“寻呼机”:
echo GridView::widget
([
'id' => 'list_of_products',
...
'pager' => [
'linkOptions'=> ['data-pjax' => '0']
],
]);
文档: LinkPager
【讨论】:
当我使用 bootstrap4 时它会中断。'pager' =>[ 'linkOptions'=> ['data-pjax' => '0'], 'class' => \yii\bootstrap4\LinkPager::class, ],
知道如何解决这个问题吗?以上是关于Yii2 在 GridView 分页中禁用 pjax的主要内容,如果未能解决你的问题,请参考以下文章