Actions - 预制 Action
Restore action
概述
Filament 包含一个可以恢复已软删除的 Eloquent 记录的预制 Action。点击触发按钮后,会打开一个模态框要求用户确认。你可以这样使用:
use Filament\Actions\RestoreAction; RestoreAction::make()    ->record($this->post)如果你想恢复表格行记录,请使用 Filament\Tables\Actions\RestoreAction 替换,或者使用 Filament\Tables\Actions\RestoreBulkAction 恢复多个记录:
use Filament\Tables\Actions\BulkActionGroup;use Filament\Tables\Actions\RestoreAction;use Filament\Tables\Actions\RestoreBulkAction;use Filament\Tables\Table; public function table(Table $table): Table{    return $table        ->actions([            RestoreAction::make(),            // ...        ])        ->bulkActions([            BulkActionGroup::make([                RestoreBulkAction::make(),                // ...            ]),        ]);}恢复后重定向
使用 successRedirectUrl() 方法,你可以对表单提交后进行重定向设置:
RestoreAction::make()    ->successRedirectUrl(route('posts.list'))自定义恢复通知
记录恢复成功后,会发送一个通知给用户,说明操作成功:
要自定义通知标题,请使用 successNotificationTitle() 方法:
RestoreAction::make()    ->successNotificationTitle('User restored')你也可以使用 successNotification() 方法,自定义整个通知:
use Filament\Notifications\Notification; RestoreAction::make()    ->successNotification(       Notification::make()            ->success()            ->title('User restored')            ->body('The user has been restored successfully.'),    )要完全禁用通知,请使用 successNotification(null) 方法:
RestoreAction::make()    ->successNotification(null)生命周期钩子
你可以使用 before() 和 after() 方法,在记录删除之前及之后执行代码:
RestoreAction::make()    ->before(function () {        // ...    })    ->after(function () {        // ...    })Still need help? Join our Discord community or open a GitHub discussion