【发布时间】:2020-03-23 12:55:09
【问题描述】:
我在执行函数时观察到:
Yii::$app->request->sendFile() 在带有 gridView 的一行中,而不是启动文件,它显示它嵌入在 HTML 中。
然后,如果我删除包围 GridView 的 Pjax::begin() 和 Pjax::end() 边框,然后下载工作。
我怎样才能同时使用这两种功能而不丢失其中之一?
【问题讨论】:
我在执行函数时观察到:
Yii::$app->request->sendFile() 在带有 gridView 的一行中,而不是启动文件,它显示它嵌入在 HTML 中。
然后,如果我删除包围 GridView 的 Pjax::begin() 和 Pjax::end() 边框,然后下载工作。
我怎样才能同时使用这两种功能而不丢失其中之一?
【问题讨论】:
这是在 Yii2 讨论过的,目前的解决方案是使用这种方法:
<?php Pjax::begin([
'id' => 'list',
'linkSelector' => '#list a:not([data-pjax=0])'
]); ?>
<a href="#" id="customListener" data-pjax="0">custom js or simple link to your action with download</a>
<a href="some/link">pjax link</a>
<?php Pjax::end(); ?>
看起来此功能可能会包含在未来的版本中。
【讨论】:
linkSelector 以使data-pjax="0" 工作。它已经以这种方式工作,因此只需将其添加到链接就足够了。