gpt4 book ai didi

ajax - Yii2 Pjax GridView 操作按钮问题

转载 作者:行者123 更新时间:2023-12-01 09:56:00 25 4
gpt4 key购买 nike

我正在尝试使用 Pjax 制作 Ajax GridView。一切正常,除了查看、更新和删除按钮不是 AJAX。代码是:

<?php yii\widgets\Pjax::begin(['id' => 'demo']); ?>
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
['class' => 'yii\grid\SerialColumn'],

'id',
'name',


['class' => 'yii\grid\ActionColumn'],
],

]); ?>
<?php yii\widgets\Pjax::end(); ?>

问题是删除、查看和更新​​的链接具有禁用 AJAX 功能的属性 data-pjax=0。我也不知道如何设置它 data-pjax=1。

最佳答案

你必须像下面那样做:

用于删除操作

1- 如下更改您的删除操作:

public function actionDelete($id) {
$this->findModel($id)->delete();
if (Yii::$app->getRequest()->isAjax) {
$dataProvider = new ActiveDataProvider([
'query' => ModelName::find(),
'sort' => false
]);
return $this->renderPartial('index', [
'dataProvider' => $dataProvider
]);
}
return $this->redirect(['index']);
}

2- 在您的 GridView 中:

['class' => 'yii\grid\ActionColumn',
'buttons' => [
'delete' => function ($url, $model) {
return Html::a('<span class="glyphicon glyphicon-trash"></span>', $url, [
'title' => Yii::t('yii', 'Delete'),
'data-pjax'=>'w0',
]);
}
]
],

现在,它可以与 Pjax 一起使用。

注意事项

  • 我在 deleteAction() 中的代码可能会降低性能。您可以自己编写。
  • w0 通常是 PJax 的默认 id。您可以将 id 添加到 PJax 并将其写入那里。
  • 这对于UpdateView 是一样的,但是你需要改变你显示updateview< 的方式 意见。
  • 强烈推荐查看Yii2的官方PJax文档:http://www.yiiframework.com/doc-2.0/yii-widgets-pjax.html

关于ajax - Yii2 Pjax GridView 操作按钮问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27491355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com