批量操作

批量操作需要设置Grid多选模式

定义批量操作

  1. $grid->batchActions(function (Grid\BatchActions $batchActions) {
  2. $batchActions->hideDeleteAction();//隐藏批量删除操作
  3. $batchActions->add(...);//添加批量操作
  4. });

获取已选择的KEYS

注意:获取原理为前段字符串替换,后端无法获取具体值

$batchActions->getKeys();

可以在设置url时使用

$url = $batchActions->resource . '/' . $batchActions->getKeys();

隐藏批量删除操作

$batchActions->hideDeleteAction();

添加自定义批量操作

$batchActions->add(BatchAction::make("加入活动"));

操作组件

系统默认提供的操作组件

BatchAction

创建组件

BatchAction::make("ActionName");

创建组件

BatchAction::make("ActionName");

设置操作确认提示信息

BatchAction::make("ActionName")->message("确认操作提示信息");

设置操作uri

BatchAction::make("ActionName")->uri("WeChat/manage/".$batchActions->getKeys());

异步请求示例

$url = route("r_name",["keys"=>$batchActions->getKeys()]);
BatchAction::make("ActionName")->($url);

设置操作事件类型

BatchAction::HANDLER_REQUEST //异步请求
BatchAction::HANDLER_ROUTE //vue路由跳转
BatchAction::HANDLER_LINK //href跳转
BatchAction::make("ActionName")->handler(BatchAction::HANDLER_REQUEST);

弹出对话框

BatchAction::make("ActionName")->dialog(function(Dialog $dialog){

});

可以在设置dialog里的BaseFormaction时使用

$grid->batchActions(function (BatchActions $batchActions) {
        $batchActions->add(BatchAction::make("加入活动")->dialog(function (Dialog $dialog) use ($batchActions) {
            $dialog->slot(function (Content $content) use ($batchActions) {
            $form = new BaseForm();
            $actionUrl = route('activityJoin', ['keys' => $batchActions->getKeys()]);
            $form->action($actionUrl);
            $form->item('activity_id', '活动');
            $content->row($form);
        });
    }));
});