操作列中的Yii2 Gridview下拉按钮

操作列中的Yii2 Gridview下拉按钮,gridview,yii,yii2,yii2-advanced-app,Gridview,Yii,Yii2,Yii2 Advanced App,我想在gridview中将我的操作列按钮设置为下拉按钮,这是我的代码 // ... GridView configuration ... ['class' => 'yii\grid\ActionColumn', 'template' => '{sell} {delete}', 'buttons' => [ 'sell' => function ($url, $mo

我想在gridview中将我的操作列按钮设置为下拉按钮,这是我的代码

// ... GridView configuration ...
['class' => 'yii\grid\ActionColumn',               
            'template' => '{sell} {delete}',
            'buttons' => [
                'sell' => function ($url, $model) {
                    return Html::a('<button type="button" class="btn btn-success"><i class="glyphicon glyphicon-shopping-cart"></i></button>', $url, [
                                'title' => Yii::t('app', 'Sell Tickets'),
                                'data-toggle' => "modal",
                                'data-target' => "#myModal",
                                'data-method' => 'post',
                    ]);
                },
                'delete' => function ($url, $model) {
                    return Html::a('<button type="button" class="btn btn-danger"><i class="glyphicon glyphicon-remove-sign"></i></button>', $url, [
                                'title' => Yii::t('app', 'Delete'),
                                'data-toggle' => "modal",
                                'data-target' => "#myModal",
                                'data-method' => 'post',
                    ]);
                },
            ],
            'urlCreator' => function ($action, $model, $key, $index) {
                if ($action == 'sell') {
                    $url = Url::toRoute(['trip/sell', 'id' => $model->tripScheduleId]);
                    return $url;
                } else {
                    $url = Url::toRoute(['trip/delete', 'id' => $model->tripScheduleId]);
                    return $url;
                }
            },
        ],
/。。。GridView配置。。。
['class'=>'yii\grid\ActionColumn',
'模板'=>'{sell}{delete}',
“按钮”=>[
'sell'=>函数($url$model){
返回Html::a(“”,$url[
'title'=>Yii::t('app','Sell Tickets'),
“数据切换”=>“模式”,
“数据目标”=>“#myModal”,
“数据方法”=>“post”,
]);
},
'delete'=>函数($url$model){
返回Html::a(“”,$url[
'title'=>Yii::t('app','Delete'),
“数据切换”=>“模式”,
“数据目标”=>“#myModal”,
“数据方法”=>“post”,
]);
},
],
“urlCreator”=>函数($action、$model、$key、$index){
如果($action=='sell'){
$url=url::toRoute(['trip/sell','id'=>$model->tripScheduleId]);
返回$url;
}否则{
$url=url::toRoute(['trip/delete','id'=>$model->tripScheduleId]);
返回$url;
}
},
],
这就是观点


我在so或任何源代码中关注了很多,但对我来说没有任何效果。

按钮
是一个呈现函数数组,只需在那里呈现您的下拉列表,然后删除
urlCreator
部分

urlCreator
用于为模板中的默认按钮构建URL,因此通过呈现包含正确URL的下拉列表,您将不需要它

'template' => '{actions}',
'buttons' => [
    'actions' => function ($url, $model) {
        //return you dropdown here
    }
],
只要不关心
$url
参数,就可以在函数中创建url