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