Yii2 Kartik GridView直接修改记录

Yii2的组件确实很丰富,直接使用Kartik CRUD Generator能够直接生成能够凑活的表单管理功能,今天是要在此基础上添加一个可编辑的功能。须要安装一个插件前端

composer require kartik-v/yii2-grid "@dev"

前端View修改后端

[
                'label'=>'编辑推荐',
                'format'=>'raw',
                'value' => function ($model) {
                    return \kartik\editable\Editable::widget([
                        'name' => 'promotion',
                        'value' => $model->promotion,
                        'attribute' => 'promotion',
                        'header' => '推荐',
                        'size' => 'md',
                        'formOptions' => [
                            'method' => 'post',
                            'action' => Yii::$app->urlManager->createAbsoluteUrl(['raw-taobaoke/promotion', 'id' => $model->id])
                        ],
                        'format' => 'button',
                        'inputType' => Editable::INPUT_DROPDOWN_LIST,
                        'data' => [
                            3 => '3',
                            1 => '1',
                            2 => '2',
                            4 => '4',
                            5 => '5',
                        ],
                        'options' => ['class' => 'form-control', 'placeholder' => 'Enter person name...'],

                    ]);
                },
            ],

后端Controller修改yii2

 public function actionPromotion($id)
    {
        $model = RawTaobaoke::findOne($id);
        if (isset($model)) {
            //设置是否客户端推荐
            if (isset($_POST['promotion'])) {
                $latestPromotion = (int)$_POST['promotion'];
                $model->promotion = $latestPromotion;
                $model->save();
                echo \yii\helpers\Json::encode(['status' => "ok", 'promotion' => $latestPromotion]);
            }
        } else {
            echo \yii\helpers\Json::encode(['status' => "error", 'message' => "can not find item"]);
        }
    }

最终展现效果app

相关文章
相关标签/搜索