如何创建自定义动作?

问题描述 投票:0回答:1

我想运行一个运行作业的自定义操作,但是当我从前端单击此操作时,我会看到一个旋转器,但没有任何记录。

dd($record)
也没有影响。

是否可以运行这样的自定义操作,或者操作仅适合基本的 CRUD 操作和重定向?

这些工作正常

Action::make('View Something')
    ->url(fn($record) => 'somethings?id=' . $record->id),
EditAction::make()
    ->label('Edit')

但是我想做这样的事情

->actions([
    ActionGroup::make([
        Action::make('doSomething')
            ->action(function ($record) {
                Log::info('Do something to ' . $record->id);
                CustomJob::dispatch($record);
            }),
        ])
    ])
laravel action laravel-filament filamentphp
1个回答
0
投票

灯丝允许使用这样的自定义操作:

->actions([
            Action::make('customAction')
                ->action(function ($record){
                    Log::info('Id: ' . $record->id);
                }),
            EditAction::make()
        ])

这应该对你有用。如果没有任何反应,请检查

Action
类的命名空间的正确性。 应该是
Filament\Tables\Actions\Action
。否则,尝试通过添加
requiresConfirmation()

来确保逻辑被执行
Action::make('customAction')
    ->requiresConfirmation()
    ->action(function ($record){
        Log::info('Id: ' . $record->id);
    })

您应该会看到一个模式窗口,提示您确认操作。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.