PJAX之后,YII2可编辑列不起作用

PJAX之后,YII2可编辑列不起作用,yii2,pjax,Yii2,Pjax,gridview中的一个列,集成了EditableColumn,它在每次页面加载时都能正常工作,但在执行任何PJAX调用(如搜索、分页更改等)后都不能正常工作 在视图中,EditableColumn代码如下所示: [ 'class' => EditableColumn::class, 'attribute' => 'visit_status', 'url' => ['update'], 'type' => 'select', 'ed

gridview中的一个列,集成了EditableColumn,它在每次页面加载时都能正常工作,但在执行任何PJAX调用(如搜索、分页更改等)后都不能正常工作

在视图中,EditableColumn代码如下所示:

[
    'class' => EditableColumn::class,
    'attribute' => 'visit_status',
    'url' => ['update'],
    'type' => 'select',
    'editableOptions' => function ($model) {
        return [
            'source' => [
                'PENDING' => 'PENDING',
                'APPROVED' => 'APPROVED',
                'REJECTED' => 'REJECTED'
            ],
            'value' => $model->visit_status,
            'editable' => true
        ];
    },
],
控制器的动作如下所示:

public function actionUpdate()
{
    $pk = unserialize(base64_decode(Yii::$app->request->post('pk')));
    $model = MyModel::findOne($pk);
    if ($model) {
        $model->visit_status = Yii::$app->request->post('value');
        if ($model->validate(['visit_status'])) {
            $model->save(false);
        } else {
            throw new BadRequestHttpException($model->getFirstError('visit_status'));
        }
    }
}

如果PJAX被禁用,那么它可以正常工作,但是无法压缩PJAX,也可以发布控制器操作中的代码。在此处添加可编辑列代码无助于纠正问题。请添加完整视图,并且您的控制器操作代码最好知道gridview是否为您自己的gridview、kartik gridview或其他类似内容。如果能看到整个小部件的设置,而不仅仅是一列,也会很好。我假设这是kartik的GridView,在这种情况下,您是否有小部件选项“pjax:true”,因为默认值是“false”。